日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统灾难恢复技术和方法-[3]

發布時間:2025/3/20 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统灾难恢复技术和方法-[3] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?系統 /boot 分區損壞

一般來說系統 /boot 分區損壞,我們會先嘗試修復文件系統。如果文件系統損壞不能修復,那么我們可以參照前述的方法來依次新建 /boot 分區,重新安裝內核和鏡像,然后安裝 GURB 再手工編輯引導菜單,以最終來恢復系統可正常引導。通常我們需要按照如下的步驟來恢復。

創建分區

碰到比較嚴重的情況就是 /boot 分區已經完全損壞,啟動時會提示找不到引導設備。

圖 8. 引導分區損壞

掛載安裝盤后進入援救模式,查看分區情況,發現分區 /dev/sda1 不存在。

  • bash-4.1#? ?
  • Disk?/dev/sda:?43.0?GB,?42991616000?bytes? ?
  • 255?heads,?63?sectors/track,?5226?cylinders? ?
  • Units?=?cylinders?of?16065?*?512?=?8225280?bytes? ?
  • Sector?size?(logical/physical):?512?bytes?/?512?bytes? ?
  • I/O?size?(minimum/optimal):?512?bytes?/?512?bytes? ?
  • Disk?identifier:?0x00000000? ?
  • ?
  • ??Device?Boot??????Start?????????End??????Blocks???Id??System? ?
  • /dev/sda2??????????????17?????????147?????1048576???82??Linux?swap?/?Solaris? ?
  • Partition?2?does?not?end?on?cylinder?boundary.? ?
  • /dev/sda3?????????????147????????5227????40803328???83??Linux? ?
  • ?
  • Disk?/dev/sdb:?2147?MB,?2147483648?bytes? ?
  • 255?heads,?63?sectors/track,?261?cylinders? ?
  • Units?=?cylinders?of?16065?*?512?=?8225280?bytes? ?
  • Sector?size?(logical/physical):?512?bytes?/?512?bytes? ?
  • I/O?size?(minimum/optimal):?512?bytes?/?512?bytes? ?
  • Disk?identifier:?0xcdd48395? ?
  • ?
  • ??Device?Boot??????Start?????????End??????Blocks???Id??System? ?
  • /dev/sdb1???????????????1?????????261?????2096451???83??Linux??
  • 新建一個分區并且設置它為啟動分區。

  • bash-4.1#?fdisk?/dev/sda? ?
  • ?
  • WARNING:?DOS-compatible?mode?is?deprecated.?It's?strongly?recommended?to? ?
  • ????????switch?off?the?mode?(command?'c')?and?change?display?units?to? ?
  • ????????sectors?(command?'u').? ?
  • ?
  • Command?(m?for?help):?n? ?
  • Command?action? ?
  • ??e???extended? ?
  • ??p???primary?partition?(1-4)? ?
  • p? ?
  • Partition?number?(1-4):?1? ?
  • First?cylinder?(1-5226,?default?1):? ?
  • Using?default?value?1? ?
  • Last?cylinder,?+cylinders?or?+size{K,M,G}?(1-16,?default?16):? ?
  • Using?default?value?16? ?
  • ?
  • Command?(m?for?help):?a? ?
  • Partition?number?(1-4):?1? ?
  • ?
  • Command?(m?for?help):?p? ?
  • ?
  • Disk?/dev/sda:?43.0?GB,?42991616000?bytes? ?
  • 255?heads,?63?sectors/track,?5226?cylinders? ?
  • Units?=?cylinders?of?16065?*?512?=?8225280?bytes? ?
  • Sector?size?(logical/physical):?512?bytes?/?512?bytes? ?
  • I/O?size?(minimum/optimal):?512?bytes?/?512?bytes? ?
  • Disk?identifier:?0x00000000? ?
  • ?
  • ??Device?Boot??????Start?????????End??????Blocks???Id??System? ?
  • /dev/sda1???*???????????1??????????16??????128488+??83??Linux? ?
  • /dev/sda2??????????????17?????????147?????1048576???82??Linux?swap?/?Solaris? ?
  • Partition?2?does?not?end?on?cylinder?boundary.? ?
  • /dev/sda3?????????????147????????5227????40803328???83??Linux? ?
  • ?
  • Command?(m?for?help):?w? ?
  • The?partition?table?has?been?altered!??
  • 重啟主機以更新分區表,然后進入援救模式,并在我們新創建的分區上創建文件系統。

  • bash-4.1#?mkfs.ext4?/dev/sda1? ?
  • Filesystem?label=? ?
  • OS?type:?Linux? ?
  • Block?size=1024?(log=0)? ?
  • Fragment?size=1024?(log=0)? ?
  • Stride=0?blocks,?Stripe?width=0?blocks? ?
  • 32128?inodes,?128488?blocks? ?
  • 6424?blocks?(5.00%)?reserved?for?the?super?user? ?
  • First?data?block=1? ?
  • Maximum?filesystem?blocks=67371008? ?
  • 16?block?groups? ?
  • 8192?blocks?per?group,?8192?fragments?per?group? ?
  • 2008?inodes?per?group? ?
  • Superblock?backups?stored?on?blocks:? ?
  • ???????8193,?24577,?40961,?57345,?73729? ?
  • ?
  • Writing?inode?tables:?done? ?
  • Creating?journal?(4096?blocks):?done? ?
  • Writing?superblocks?and?filesystem?accounting?information:?done? ?
  • ?
  • This?filesystem?will?be?automatically?checked?every?38?mounts?or? ?
  • 180?days,?whichever?comes?first.??Use?tune2fs?-c?or?-i?to?override.??
  • 安裝內核鏡像文件

    通過前述的方法我們安裝內核和鏡像文件。

  • bash-4.1#?chroot?/mnt/sysp_w_picpath? ?
  • sh-4.1#?mount?/dev/sda1?/boot? ?
  • sh-4.1#?mount?–?o?loop?/dev/sr0?/media? ?
  • sh-4.1#?cd?/media/Server/Packages? ?
  • sh-4.1#?rpm?-ivh?--force?kernel-2.6.32-71.el6.x86_64.rpm? ?
  • warning:?kernel-2.6.32-71.el6.x86_64.rpm:?\? ?
  • Header?V3?RSA/SHA256?Signature,?key?ID?fd431d51:?NOKEY? ?
  • Preparing...????????????????###########################################?[100%]? ?
  • ??1:kernel??????????????????###########################################?[100%]??
  • 安裝 GRUB

    我們安裝 GRUB 到硬盤設備 sda 上。

  • sh-4.1#?grub-install?/dev/sda? ?
  • Installation?finished.?No?error?reported.? ?
  • This?is?the?contents?of?the?device?map?/boot/grub/device.map.? ?
  • Check?if?this?is?correct?or?not.?If?any?of?the?lines?is?incorrect,? ?
  • fix?it?and?re-run?the?script?`grub-install'.? ?
  • ?
  • (fd0)???/dev/fd0? ?
  • (hd0)???/dev/sda? ?
  • (hd1)???/dev/sdb??
  • 編輯引導菜單

    由于我們創建了新的分區,其對應的 UUID 會發生變化,可以通過命令 blkid 來查詢分區的 UUID。

  • bash-4.1#?blkid? ?
  • /dev/loop0:?TYPE="squashfs"?
  • /dev/sda2:?UUID="7b1e0fac-ff06-492c-848d-497e2a38c54e"?TYPE="swap"?
  • /dev/sda3:?UUID="ef89764e-04ff-4f26-ae82-dcab267ecc66"?TYPE="ext4"?
  • /dev/sdb1:?UUID="2b824352-df2a-44c6-a547-838d46f526fa"?SEC_TYPE="ext2"?TYPE="ext3"?
  • /dev/loop1:?LABEL="RHEL_6.0?x86_64?Disc?1"?TYPE="iso9660"?
  • /dev/sda1:?UUID="cec964af-1618-48ff-ac33-4ef71b9d3265"?TYPE="ext4"?
  • 上述的 sda3 為根分區,編輯 /boot/grub/grub.conf 文件更新其對應的 UUID,其內容如下。

  • title?Red?Hat?Enterprise?Linux?6? ?
  • root?(hd0,0)? ?
  • kernel?/vmlinuz-2.6.32-71.el6.x86_64?\? ?
  • root=UUID=ef89764e-04ff-4f26-ae82-dcab267ecc66?rhgb?quiet? ?
  • initrd?/initramfs-2.6.32-71.el6.x86_64.img??
  • 更新 /etc/fstab

    類似的我們也需要更新 /etc/fstab 里 /boot 分區對應的新 UUID,其內容如下。

  • #? ?
  • #?/etc/fstab? ?
  • #?Created?by?anaconda?on?Sun?Mar?18?04:35:07?2012? ?
  • #? ?
  • #?Accessible?filesystems,?by?reference,?are?maintained?under?'/dev/disk' ?
  • #?See?man?pages?fstab(5),?findfs(8),?mount(8)?and/or?blkid(8)?for?more?info? ?
  • #? ?
  • UUID=ef89764e-04ff-4f26-ae82-dcab267ecc66?/??????????????????ext4????defaults????????1?1? ?
  • UUID=cec964af-1618-48ff-ac33-4ef71b9d3265?/boot??????????????ext4????defaults????????1?2? ?
  • UUID=7b1e0fac-ff06-492c-848d-497e2a38c54e?swap???????????????swap????defaults????????0?0? ?
  • tmpfs???????????????????/dev/shm????????????????tmpfs???defaults????????0?0? ?
  • devpts??????????????????/dev/pts????????????????devpts??gid=5,mode=620??0?0? ?
  • sysfs???????????????????/sys?????????????????????sysfs???defaults????????0?0? ?
  • proc????????????????????/proc????????????????????proc????defaults????????0?0??
  • 現在我們的恢復步驟已經完成,重啟主機后 GRUB 中可見我們配置的系統列表。

    圖 9. GRUB 菜單

    至此 /boot 分區已恢復,系統可正常引導啟動。

    圖 10. 系統啟動

    總結

    本文闡述了常見的 Linux 災難恢復技術和方法,及其出現嚴重災難時應注意的恢復順序,以確保 Linux 系統在出現災難時得以安全恢復。

    轉載于:https://blog.51cto.com/redkey/1179089

    總結

    以上是生活随笔為你收集整理的Linux系统灾难恢复技术和方法-[3]的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。