Slackware

用 uefi 系統和無光碟機修復 Lilo

  • June 11, 2013

最近,我一直在嘗試在預裝了 Windows 8 的新筆記型電腦上啟動 Slackware。我已經成功安裝了 Slackware 和 Lilo,但由於筆記型電腦不包含光碟機,因此嘗試啟動時遇到了很大的困難。

我一直在嘗試啟動到其他 USB 驅動器上的各種系統。唯一完全成功的引導來自 tinycore,從那里安裝 grub(或任何引導載入程序)很痛苦。

我目前的情況是嘗試使用 EasyBCD 啟動它,我可以進入(Windows)啟動菜單並選擇創建的 Slackware 選項,但之後它顯示 Windows MBR 錯誤。

你會推薦我從這裡去哪裡?任何幫助表示讚賞。

首先,您需要確定 Windows 8 是否可以在禁用安全啟動的情況下啟動。如果是這樣,那麼假設系統使用 UEFI 分區進行引導,您只需要安裝Slackware 附帶的**elilo (啟用 EFI 的 LILO)即可。**它所做的只是將核心複製到 EFI 引導分區。

如果由於某種原因您需要使用安全啟動,您要麼必須使用載入 GRUB(進而載入核心)的簽名 shim,要麼自己簽名核心並將密鑰載入到 UEFI(這通常是可能的,但不是由於顯而易見的原因被廣泛使用)。

在任何情況下,至少對 HDD 內容進行部分備份(最好是在設備級別)可能是個好主意。

至於不使用 CD 啟動:如果您手頭有另一台電腦,通過網路啟動通常不會太難設置 - 您只需要一個基本的 DHCP 和 TFTP 伺服器,例如dnsmasq(打包在 Slackware 樹中;還有還有一些關於如何做到這一點的文件)。

另一種選擇當然是將硬碟取出,將其放入帶有 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

引用自:https://unix.stackexchange.com/questions/78740