我有一个具有这种分区布局的双引导系统:
# fdisk -l
Disk /dev/sda: 596.2 GiB, 640135028736 bytes, 1250263728 sectors
Disk model: SAMSUNG HM640JJ
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: 0x08c427b9
Device Boot Start End Sectors Size Id Type
/dev/sda1 80325 30800324 30720000 14.7G 7 HPFS/NTFS/exFAT
/dev/sda2 30800325 440400559 409600235 195.3G 7 HPFS/NTFS/exFAT
/dev/sda3 440403966 1132820479 692416514 330.2G f W95 Ext'd (LBA)
/dev/sda4 * 1132820480 1250263039 117442560 56G 83 Linux
/dev/sda5 440403968 1116043263 675639296 322.2G 7 HPFS/NTFS/exFAT
/dev/sda6 1116045312 1132820479 16775168 8G 82 Linux swap / Solaris
Partition table entries are not in disk order.
parted
根据和它是 MBR gdisk
。安装 linux 后,我再也没有启动到 Windows,并定期将整个 60G 分区和 HDD 的前 63 个扇区备份dd
到外部 HDD,同时我从实时 linux 映像启动。
dd if=/dev/sda4 of=linux.img bs=4096 conv=fdatasync
dd if=/dev/sda of=boot.img bs=512 count=63 conv=fdatasync
在我的 linux 坏了(第一次)之后,我尝试使用上面的反向从 live 恢复它
dd if=linux.img of=/dev/sda4 bs=4096 conv=fdatasync
dd if=boot.img of=/dev/sda bs=512 conv=fdatasync
dd
没有报告任何错误,Linux 分区按预期恢复。但是我无法启动(系统一直在重新启动,因为 Grub 出现问题,光标闪烁,然后突然重新启动一遍又一遍)。最后使用 live thenchroot
和再次启动grub-install
。在此之后,我能够再次正常启动。
我备份了前 63 个扇区,因为 Grub 将那里用于核心映像(如果我没记错的话)。启动后我做的第一件事是将那里转储到一个 newboot.img 文件,然后:
diff boot.img newboot.img
什么也没返回,这意味着即使重新安装 grub,那个区域也是一样的。
- 在这种情况下无法启动的根本原因是什么?
- 我应该如何进行备份(避免第三方)?
据我所知,没有分区更改,没有 UUID ......两个图像一起创建。grub 代码可以在扇区 63 之后的某个地方继续吗?在哪里和多长时间?
谢谢你。