修復分區表

修復分區表

我剛剛覆蓋了系統硬碟的分區表。我cfdisk在錯誤的裝置上建立了一個(/dev/sda而不是/dev/sdd),刪除了所有分割區,在整個裝置上建立了一個新的主分割區,將其類型設為07(NTFS)並點擊write

所以我的系統正在運作。在我重新啟動之前,我希望/猜測什麼都不會改變 - 這意味著:我的所有資料都可以存取(我目前正在dd對整個設備進行備份,並計劃.tar.gz稍後對最重要的資料進行備份)。我還備份了/proc/partitions/proc/diskstats(儘管我猜這更多是關於吞吐量和類似的東西......)和/sys/block/sda/sda?/{start,size}

我還知道一些事情:

  • 4個主分區
  • 第一個分區:~100Mb,ext3,/boot
  • 第二個分區:~100Mb,“Win7啟動分區”,ntfs(?)
  • 第三分區:~20...30GB,Win7,ntfs
  • 第四個分割區:~20...30GB,luks 加密設備
  • 幸運的是——加密設備是 LVM-PV
  • /, /home& -分區swap是上述 PV 上(VG 上)的所有 LV

所以我的問題是:

  • 將核心分割表寫入磁碟的最簡單方法是什麼?
  • 取得上述(也許還有其他我不知道的...)資料並產生分區表的最簡單方法是什麼?
  • 關於 luks 和/或 lvm 是否有任何需要注意的問題?
  • 在重新啟動之前是否應該備份任何數據(意味著來自核心[ /sys/...、/proc/...] 等的數據,這可以幫助我重新產生分區表)?

答案1

不太棘手。希望。

首先,記下 /dev/sda 上所有分割區的大小和順序:

challenger:/home/michael # grep . /sys/block/sda/sda*/{start,size}
/sys/block/sda/sda1/start:63
/sys/block/sda/sda2/start:228690000
/sys/block/sda/sda3/start:257040
/sys/block/sda/sda1/size:256977
/sys/block/sda/sda2/size:83885760
/sys/block/sda/sda3/size:228432960

在 /dev/sda 上運行 fdisk 並將單位更改為扇區:

Command (m for help): u
Changing display/entry units to sectors

然後開始製作分區。對每個分區使用適當的數字start和。size
避免差一錯誤 - 在size將其輸入 fdisk 之前減去 1。

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (63-312581807, default 63): 
Using default value 63
Last sector, +sectors or +size{K,M,G} (63-312581807, default 312581807): +256976

Command (m for help): p

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x02b002af

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63      257039      128488+  83  Linux

不要忘記設定分區 ID 並切換正確分區上的啟動標誌

現在重新安裝您的 MBR,您就可以開始了。


當然,您可以使用您最喜歡的分區編輯器來完成這一切...parted 也可以很好地工作。

如果您遺失了有關分割區開始/結束的資訊 - parted 有「救援」選項來搜尋磁碟以尋找遺失的分割區。但你不應該需要那些。

答案2

如果分割表損壞,我建議使用RIP的啟動磁碟(Linux下可以救援)來執行testdisk。哎呀,您也許可以從正在運行的系統運行 testdisk 來掃描和恢復分區,但我不會嘗試這樣做,因為我不知道它會對打開文件的正在運行的系統做什麼。

如果您想嘗試備份重要資料(您還沒有備份?),現在是這樣做的好時機...

相關內容