運維之記錄一次磁碟修復
阿新 • • 發佈:2018-11-28
前言
從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。 但是這個明明的互動操作,我不是太理解。所以造成了我一些檔案的無法修復。丟失了。
總結
- 把重要的資料,通過git同步,遠端服務上去。可以寫一個自動化指令碼。
- 檔案丟失,修復很麻煩。如果不懂修復建議使用雲伺服器
- 把檔案,資源做好備份。