1. 程式人生 > >運維之記錄一次磁碟修復

運維之記錄一次磁碟修復

前言

從15年初把筆記本的作業系統從windows換成Ubuntu14.04,已經有3年了,雖然只有瀏覽器。但是學習效果非常好,年初自動升級到了Ubuntu16.04。上個月系統啟動之後無法進入桌面,因為工作忙一直放放著。今天終於修復好了。

步驟

1. 通過sudo fdisk -l 檢視所有磁碟,看磁碟是否在
Disk /dev/loop0:86.9 MiB,91099136 位元組,177928 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop1:140 MiB,146841600 位元組,286800 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop2:3.7 MiB,3887104 位元組,7592 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop3:21 MiB,22003712 位元組,42976 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop4:14.5 MiB,15196160 位元組,29680 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop5:12.2 MiB,12804096 位元組,25008 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop6:86.6 MiB,90759168 位元組,177264 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/loop7:140.9 MiB,147722240 位元組,288520 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


Disk /dev/sda:59.6 GiB,64023257088 位元組,125045424 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x000d8fa0

裝置       啟動      起點      末尾      扇區  大小 Id 型別
/dev/sda1  *         2048 108382207 108380160 51.7G 83 Linux
/dev/sda2       108384254 125044735  16660482    8G  5 擴充套件
/dev/sda5       108384256 125044735  16660480    8G 82 Linux swap / Solaris


Disk /dev/sdb:698.7 GiB,750156374016 位元組,1465149168 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/物理):512 位元組 / 4096 位元組
I/O 大小(最小/最佳):4096 位元組 / 4096 位元組
磁碟標籤型別:dos
磁碟識別符號:0x740aaf9a

裝置       啟動      起點      末尾      扇區  大小 Id 型別
/dev/sdb1            2048 209717247 209715200  100G 83 Linux
/dev/sdb2       209717248 629147647 419430400  200G 83 Linux

#####. 檢視分割槽的檔案系統 sudo parted -l。不同檔案系統需要不同的修復方式

Model: ATA TOSHIBA THNSNF06 (scsi)
磁碟 /dev/sda: 64.0GB
Sector size (logical/physical): 512B/512B
分割槽表:msdos
Disk Flags: 

數字  開始:  End     大小    型別      檔案系統        標誌
 1    1049kB  55.5GB  55.5GB  primary   ext4            啟動
 2    55.5GB  64.0GB  8530MB  extended
 5    55.5GB  64.0GB  8530MB  logical   linux-swap(v1)


Model: ATA WDC WD7500BPVT-2 (scsi)
磁碟 /dev/sdb: 750GB
Sector size (logical/physical): 512B/4096B
分割槽表:msdos
Disk Flags: 

數字  開始:  End    大小   型別     檔案系統  標誌
 1    1049kB  107GB  107GB  primary  ext4
 2    107GB   322GB  215GB  primary  ext4

4. 執行 sudo fsck.ext4 -c /dev/sdb1 進行修復。主要看是fsck支援那些檔案系統
執行失敗
[email protected]:/$ sudo fsck.ext4 -c /dev/sdb1
e2fsck 1.44.1 (24-Mar-2018)
fsck.ext4: 嘗試讀取檔案系統塊的操作過早結束 嘗試開啟 /dev/sdb1 時
分割槽長度為零嗎?

4. 使用 sudo e2fsck /dev/sdb 進行修復,會提供一定的提示。
5. 執行sudo e2fsck -b 8193 /dev/sdb1 或 sudo e2fsck -b 32768 /dev/sdb1。 但是這個明明的互動操作,我不是太理解。所以造成了我一些檔案的無法修復。丟失了。

總結

  1. 把重要的資料,通過git同步,遠端服務上去。可以寫一個自動化指令碼。
  2. 檔案丟失,修復很麻煩。如果不懂修復建議使用雲伺服器
  3. 把檔案,資源做好備份。