引導至 chroot 目錄使根分割區保持唯讀狀態

引導至 chroot 目錄使根分割區保持唯讀狀態

我正在嘗試將 grub 引導到包含 Slackware Linux 安裝的 chroot 目錄 /slack。該目錄是透過發出以下命令來建立的:

  installpkg --root /slack a/*.t?z

其中 a/ 目錄包含來自 slackware 的基本 a/ 安裝套件。我透過執行 mkinitcpio 命令成功地進入 /slack 並建立了 initrd 映像。

最後,我在 /boot/grub/menu.lst 中建立了以下條目:

title  Slackware Linux
root   (hd0,2)
kernel /slack/boot/vmlinuz root=/dev/sda3 rw init=/slack/boot/chrootinit 
initrd /slack/boot/initrd.gz
boot

其中 /slack/boot/chrootinit 是 chroot 到 /slack 的腳本:

exec /usr/sbin/chroot /slack /sbin/init

系統成功啟動,但即使使用「rw」選項,根分割區也會以唯讀方式安裝。顯示有​​關此問題的多個警告訊息,系統最終掛起。有什麼解決辦法嗎?

(參考:http://forum.soft32.com/linux2/Booting-chrooted-directory-ftopict51395.html

答案1

我不確定為什麼檔案系統被掛載為唯讀,因為您已經指定了rw.也許核心實際上是以讀寫方式掛載 initrd 映像,然後該 initrd 映像以唯讀方式掛載您的根檔案系統。

在任何情況下,通常核心都希望以唯讀方式掛載根檔案系統,然後在某個時刻以init讀寫方式重新掛載它。

也許您可以修改chrootinit腳本以首先執行該步驟:

/bin/mount -o remount,rw /
exec /usr/sbin/chroot /slack /sbin/init

相關內容