最近,我一直在尝试在一台预装了 Windows 8 的新笔记本电脑上启动 Slackware。我已经成功安装了 Slackware 和 Lilo,但由于笔记本电脑没有光驱,我在启动时遇到了很大困难。
我一直在尝试启动其他 USB 驱动器上的各种系统。唯一完全成功的引导来自tinycore,从那里安装grub(或任何引导加载程序)非常痛苦。
我目前的情况是尝试使用 EasyBCD 启动它,我可以进入 (Windows) 启动菜单并选择创建的 Slackware 选项,但之后它显示 Windows MBR 错误。
你会建议我从这里去哪里?任何帮助表示赞赏。
答案1
首先您需要确定Windows 8是否可以启动安全启动禁用。如果是这样,那么假设系统使用UEFI分区启动,您只需要安装埃利洛(支持 EFI 的 LILO),随 Slackware 一起提供。它所做的只是将内核复制到 EFI 启动分区。
如果由于某种原因您需要使用安全启动,您要么必须使用加载 GRUB 的签名填充程序(进而加载内核),要么自己对内核进行签名并将密钥加载到 UEFI 中(这通常是可能的,但不可行)由于显而易见的原因而被广泛使用)。
无论如何,至少对 HDD 内容进行部分备份(最好是在设备级别)可能是个好主意。
至于无 CD 启动:如果您手头碰巧有另一台计算机,通过网络启动通常设置起来并不困难 - 您只需要一个基本的 DHCP 和 TFTP 服务器,例如dnsmasq
(它被打包在 Slackware 树中;并且还有一些关于如何执行此操作的文档)。
当然,另一种选择是取出 HDD,将其放入带有 DVD 的机器中,安装所需的任何内容,然后将其放回去。它还将使备份驱动器变得更加容易。
回到问题:如果你已经安装了 Slackware,只是无法启动它,但你可以在机器上启动一些 linux(从 USB 或网络,甚至是 Slackware 安装映像),只需这样做,将 Slackware 分区挂载到某处,绑定挂载正在运行的 linux 中的重要内容,chroot 并执行所有必需的操作。基本上你需要这样的东西:
mkdir /slackware
mount /dev/path/to/installed/slack /slackware
for m in dev dev/pts proc sys; do
mount --bind /$m /slackware/$m
done
chroot /slackware
# optionally mount partition with your kernel,
# so that elilo can find it
# edit /etc/elilo.conf to your liking
elilo
exit
for m in sys proc dev/pts dev; do
umount /slackware/$m
done
umount /slackware
reboot