使用openmediavault-backup 5.2.4插件搭配fsarchiver備份OMV系統,但在復原系統後開機grub沒有顯示OMV無法開機。
$ sudo dd if=backup.grubparts of=/dev/sdb
一開始使用dd將分割表寫入到硬碟中,但是遇到了一個問題。因為backup.grubparts紀錄的是前
一顆硬碟的分割表,假如當時的sdb1硬碟分區有498GB,但是卻想要把系統安裝在126GB的硬碟分區裡,這個時候就會遇到分割區超出126GB,不符合邏輯。不可能有128GB的硬碟可容納498GB的分區。想個了解分割區可參考以下文章:
經過了無數次的測試得出了一個結論,除非想還原原本系統的分割區大小,否則並不需要寫入分割表backup.grubparts到硬碟裡,可使用GPart、fdisk工具分割磁碟。
原本懷疑是BOIS MBR、GPT不相容的問題。但從此篇看起來,並非是分割表的問題。
*紅色字體代表主要的系統分區
*如果不懂dd fsarchiver fdisk ...指令用法,請先查明用法後再謹慎操作,以免資料遺失
分區結構
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 149.5 GiB, 160041885696 bytes, 312581808 sectors
Disk model: 00BUCT-63TWBY0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x36697731
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 310585343 310583296 148.1G 83 Linux
/dev/sdb2 310585344 312581807 1996464 974.9M 5 Extended
/dev/sdb5 310587392 312581807 1994416 973.9M 82 Linux swap / Solaris
$ lsblk
sdb 8:16 0 149.1G 0 disk
├─sdb1 8:17 0 148.1G 0 part
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 973.9M 0 part
使用fsarchiver還原系統
backup.fsa:備份的檔案系統內容
$ sudo dd if=backup.grub of=/dev/sdb1
$ sudo fsarchiver restfs backup.fsa id=0,dest=/dev/sdb1
但開機以後畫面一片黑,估計是Grub沒有安裝完整。
因此,重新安裝grub或許能夠無法開機問題。
$ sudo su
$ mount /dev/sdb1 /mnt
$ mount --bind /dev /mnt/dev
$ mount --bind /dev/pts /mnt/dev/pts
$ mount --bind /proc /mnt/proc
$ mount --bind /sys /mnt/sys
$ chroot /mnt
$ grub-install --force /dev/sdb1
$ grub-install --recheck --force /dev/sdb1
$ update-grub
$ exit
$ umount /mnt/sys
$ umount /mnt/proc
$ umount /mnt/dev/pts
$ umount /mnt/dev
$ umount /mnt
重新安裝grub後,成功看到grub的選單。

沒有留言:
張貼留言