溫馨提示×

如何在centos中恢復丟失的分區

小樊
50
2025-09-24 11:33:06
欄目: 智能運維

如何在CentOS中恢復丟失的分區

分區丟失是CentOS系統中常見的問題,可能由誤操作、分區表損壞、硬盤故障等原因引起?;謴颓靶?strong>立即停止對目標磁盤的寫入操作(如卸載分區、斷開網絡),避免新數據覆蓋原有數據,降低恢復成功率。以下是具體恢復方法:

一、準備工作

  1. 備份重要數據:無論采用何種恢復方法,先備份磁盤中未丟失的重要數據(如通過Live USB掛載到其他存儲設備),防止恢復過程中二次丟失。
  2. 準備恢復介質:下載CentOS安裝ISO,制作Live USB(可使用dd命令或Rufus工具),用于進入救援模式。
  3. 確認分區類型:通過lsblkfdisk -l命令查看磁盤分區情況,判斷丟失分區是否屬于LVM邏輯卷(需用LVM工具恢復)或普通分區(可用TestDisk、extundelete等工具)。

二、使用TestDisk工具恢復普通分區

TestDisk是一款開源分區恢復工具,支持恢復丟失的分區表、修復分區結構,適用于ext3/ext4、NTFS等文件系統。
步驟如下

  1. 安裝TestDisk:在CentOS終端運行yum install testdisk -y(需聯網)。
  2. 運行TestDisk:以root權限執行sudo testdisk,進入交互界面。
  3. 選擇磁盤:按提示選擇丟失分區的磁盤(如/dev/sda),按Enter確認。
  4. 選擇分區表類型:默認選擇“Intel”(適用于MBR分區表),若為GPT分區表則選“EFI GPT”,按Enter繼續。
  5. 掃描丟失分區:選擇“Analyze”(分析)→“Quick Search”(快速掃描),若未找到可嘗試“Deep Search”(深度掃描)。
  6. 恢復分區:找到丟失分區后,按P鍵查看分區內的文件(確認是否為目標分區),再按W鍵將分區表寫入磁盤(此操作不可逆,需謹慎)。
  7. 重啟系統:退出TestDisk,重啟CentOS,通過lsblk命令檢查分區是否恢復。

三、使用extundelete恢復ext3/ext4文件系統數據

若分區未格式化且使用ext3/ext4文件系統,extundelete可通過文件系統日志恢復數據(需卸載分區,避免覆蓋)。
步驟如下

  1. 安裝extundelete:運行yum install extundelete -y。
  2. 卸載目標分區:若分區已掛載,執行umount /dev/sdXY(如/dev/sda1),否則跳過。
  3. 恢復數據
    • 恢復所有數據:extundelete /dev/sdXY --restore-all(數據將恢復到當前目錄下的RECOVERED_FILES文件夾)。
    • 恢復指定目錄:extundelete /dev/sdXY --restore-directory /path/to/deleted/dir。
    • 恢復指定文件:extundelete /dev/sdXY --restore-file /path/to/deleted/file。
  4. 檢查恢復結果:進入RECOVERED_FILES目錄,查看恢復的文件。

四、LVM邏輯卷恢復(適用于LVM管理的分區)

若丟失分區屬于LVM邏輯卷(如/、/home等掛載點),需通過LVM工具重建物理卷(PV)、卷組(VG)和邏輯卷(LV)。
步驟如下

  1. 進入救援模式:使用CentOS安裝光盤或Live USB啟動,選擇“Troubleshooting”→“Rescue a CentOS system”,進入救援環境。
  2. 查看LVM備份信息:運行cat /etc/lvm/backup/centos(默認備份文件路徑),記錄物理卷(PV)的UUID。
  3. 重建物理卷:若物理卷損壞,使用pvcreate --uuid "備份中的UUID" --restorefile /etc/lvm/backup/centos /dev/sdX(如/dev/sdb1)重建PV。
  4. 恢復卷組配置:運行vgcfgrestore -f --test /etc/lvm/backup/centos centoscentos為卷組名,需替換為實際名稱)測試恢復,成功后執行vgcfgrestore -f /etc/lvm/backup/centos centos正式恢復。
  5. 激活卷組和邏輯卷:運行vgchange -ay centos激活卷組,使用lvscan查看邏輯卷狀態。
  6. 修復文件系統:若邏輯卷文件系統損壞,運行xfs_repair /dev/centos/root(XFS文件系統)或fsck -y /dev/centos/root(ext4文件系統)修復。
  7. 重啟系統:退出救援模式,重啟CentOS,檢查LVM狀態(pvdisplay、vgdisplay、lvdisplay)。

五、手動重建分區(謹慎使用)

若上述工具無法恢復,可嘗試手動重建分區表(需熟悉分區結構,風險較高)。
步驟如下

  1. 備份分區表:運行sfdisk -d /dev/sdX > partition_table.bak(如/dev/sda),保存當前分區表。
  2. 刪除舊分區表:運行fdisk /dev/sdX,輸入d刪除所有分區(謹慎操作)。
  3. 創建新分區:輸入n創建新分區,選擇分區類型(如主分區p、邏輯分區l),設置分區大?。▍⒖荚謪^大?。?,最后輸入w保存分區表。
  4. 格式化分區:運行mkfs.ext4 /dev/sdXY(如/dev/sda1)格式化分區(若為LVM分區,需先加入VG并激活LV)。
  5. 掛載分區:創建掛載點(如mkdir /mnt/recovered),運行mount /dev/sdXY /mnt/recovered掛載,檢查數據是否恢復。

六、/boot分區恢復(特殊場景)

/boot分區丟失,系統無法啟動,需進入救援模式修復:

  1. 進入救援模式:使用安裝光盤啟動,選擇“Rescue a CentOS system”。
  2. 掛載根分區:運行mount /dev/sdXY /mnt/dev/sdXY為根分區,如/dev/sda3)。
  3. 重新安裝內核和GRUB
    • 掛載/boot目錄:mount /dev/sdXZ /mnt/boot/dev/sdXZ/boot分區,如/dev/sda1)。
    • 重新安裝內核:rpm -ivh /mnt/Packages/kernel-xxxx --forcexxxx為內核版本,需從/mnt/Packages/目錄找到對應包)。
    • 修復GRUB:chroot /mntgrub2-install /dev/sdX/dev/sdX為磁盤,如/dev/sda)→grub2-mkconfig -o /boot/grub2/grub.cfg。
  4. 重啟系統:退出救援模式,重啟CentOS,檢查/boot分區是否恢復。

注意事項

  • 數據恢復成功率:取決于刪除后是否有大量寫入操作(如復制、下載文件),若數據非常重要,建議尋求專業數據恢復服務。
  • LVM恢復前提:需有LVM備份文件(/etc/lvm/backup/centos),若備份文件丟失,恢復難度較大。
  • 手動重建風險:手動重建分區表需準確記住原分區大小、類型,操作失誤可能導致數據徹底丟失。

通過以上方法,可根據分區類型和丟失場景選擇合適的恢復方案?;謴颓皠毡刈龊脗浞?,避免二次損失。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女