我双启动 Windows 8 和 BackTrack5,但在使用 easyBCD 时擦除了 MBR。所以我尝试了这个……
sudo install-mbr -i n -p D -t 0 /dev/sda1
/dev/sda1
是我系统中的主分区,它是 Windows 的“系统保留”分区。当我重新启动系统时,它卡在启动徽标“HP”处,即使我按下Esc暂停启动,BIOS也不会显示。
我尝试从闪存驱动器启动 BackTrack5 linux,但是无法检测到闪存驱动器,因为 BIOS 本身没有显示!
我的 BIOS 版本是“Insyde F.66A”,我使用的是 HP pavilion dv4t-1300 CTO 笔记本电脑。
BIOS 不显示的原因可能是什么?可以修复吗?
答案1
sda
你把和搞混了sda1
。将 MBR 安装到分区而不是驱动器本身通常没有意义。你可能需要这个命令:
sudo install-mbr -i n -p D -t 0 /dev/sda
不幸的是,您的错误可能已经破坏了sda1
.对于 Linux 文件系统,卷的第一个扇区是单独保留的,以便可以在此处安装引导代码。如果 Windows 文件系统也这样做,那么您很幸运,只需在 Windows 下重新安装引导加载程序即可。
答案2
您修改了分区/dev/sda1
,其中包含 UEFI BIOS 的部分内容。这会使您的系统无法启动。
您应该能够通过以下方式恢复重新刷新 BIOS。获取适当的 BIOS 映像。您将获得一个可自解压的存档,您可以使用Linux7z x sp48847.exe
或cabextract sp48847.exe
在 Linux 下解压该存档。您将获得一个Winflash.exe
zip 存档文件,您可以使用unzip Winflash.exe
或解压该文件7z x Winflash.exe
。
此时,如果你能找出哪个*.FD
文件包含正确的BIOS版本并且能找到签名文件,你就可以将它们写入 U 盘上的适当位置Win,然后按下+启动您的电脑B。
或者,将笔记本电脑的驱动器安装到另一台 PC 上,并找出*.FD
与您的 BIOS 相对应的文件。如果您的笔记本电脑的驱动器是/dev/sdn
:
</dev/sdn1 tail -c +513 | head -c 1000000 md5sum
for x in *.FD; do tail -c +513 $x | head -c 1000000 | md5sum; done
如果有匹配项,则覆盖干净图像中的前 512 个字节。
dd bs=512 count=1 <xxxxxxxx.FD >/dev/sdn1
下次,请记住将 MBR 安装在 上/dev/sda
,而不是 上/dev/sda1
。不要触摸 上的任何东西/dev/sda1
。