Debian

如何在 Debian 安裝啟動時將 /dev/sdb 掛載到 /cdrom

  • April 4, 2021

我正在嘗試使用這個官方 ISO 文件安裝 Debian 10:

http://cdimage.debian.org/cdimage/release/current/amd64/iso-cd/debian-10.9.0-amd64-netinst.iso

我將此 ISO 文件修改為使用 自動化preseed.cfg,使用 打包它,然後使用以下命令xorriso將此 ISO 文件寫入名為的磁碟:/dev/sdb

wget -O mini.iso http://url_to_download_the_modified_debian_iso_with_preseed.iso
mv *.iso mini.iso
dd if=mini.iso of=/dev/sdb

請注意,這/dev/sdb是第二個磁碟分區而不是快閃記憶體驅動器

/dev/sdb然後,當我使用作為根驅動器啟動此 ISO 時,它可以啟動,但顯示以下有關“未檢測到通用 CD-ROM 驅動器”的對話框:

截圖 1

所以,我可以在輸入對話框中手動指定安裝介質為/dev/sdb,然後當我點擊繼續安裝繼續時,這是我/dev/sdb在輸入框中指定的螢幕截圖,安裝繼續沒有問題:

截圖 2

由於我希望這是自動化的,有沒有辦法/dev/sdb在安裝開始掃描磁碟之前自動安裝它?我找不到任何預置命令來自動跳過此對話框。

我嘗試了以下幾種方法並將其添加到preseed.cfg但根本不起作用(我注意到第 3 種方法,腳本僅在我/dev/sdb在對話框中指定 CD-ROM 路徑後點擊繼續後才執行)

1) d-i partman/early_command string mount /dev/sdb /cdrom

2) d-i cdrom-detect/cdrom_device string /dev/sdb
       
3)

d-i preseed/early_command string \
       umount /cdrom; \
       mkdir -p /cdrom; \
       mount -t vfat /dev/sdb /cdrom

請注意,如果我使用此 ISO 文件在 Virtualbox 中安裝預定義preseed.cfg的 .在他們的 BIOS 中啟用 CD-ROM。因此,在 linode 中安裝此 ISO 的推薦方法是從我將 ISO 直接放入的硬碟引導/dev/sdb

創建 Debian netinst ISO 映像主要是為了在 CD (DVD) 上刻錄。幾年前稍作修改,可以保存在U盤上。修改添加了一個虛假的 MBR 扇區,它指向從零扇區開始的第一個可引導分區!我沒有嘗試將此類 ISO 映像放置到正常磁碟設備上。USB 子系統可以辨識各種類型的 USB 設備,包括 USB 大容量儲存和 USB CD-ROM 驅動器。

ISO鏡像不能以普通方式複製到U盤,一定要使用命令:

dd if=debian.iso of=/dev/sd_usbdevice

因為您使用屬於塊設備的數據進行操作。

好吧,我建議您保持標準方式。最好使用標準刻錄的 CD-R 或 USB 快閃記憶體盤。

如果您堅持自己的方式,請嘗試使用 dd 命令將 ISO 映像放在 /dev/sdb 上。如果 ISO 會被辨識,這取決於您的晶片組。

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