Partition

創建獨立的可啟動 USB 驅動器

  • July 13, 2017

我有一個 16GB 的 USB 驅動器。我發現USB驅動器上的多個分區是可能的。我需要創建兩個分區,一個包含 Linux 作業系統,另一個用於儲存文件。與任何其他系統一樣的系統(具有不同文件儲存分區的作業系統分區)。我希望 Windows 可以訪問儲存分區,這意味著儲存分區應該位於 USB 中的 OS 分區之前。問題是,當儲存分區在 OS 分區之前時,如果我在啟動時選擇 USB,則 OS 分區是無用的,BIOS 無法檢測到 OS。我認為安裝 GRUB 可能會解決問題,但“install-grub”會引發錯誤。

帶有 2 個(或更多)分區的可啟動 USB 拇指驅動器,以及用於訪問數據分區的視窗。

編輯:此範例使用 ISO 而不是已安裝的作業系統。為已安裝的作業系統進行調整應該很簡單。

即使有多個分區,Windows 和其他人也可能只能看到 USB 設備上的*第一個分區。*因此,將您的第一個主分區設為 fat32 或 NTFS 分區,以便 Windows 可以看到和使用它。

  • 分區 1 - ntfs 或 vfat
  • 分區 2 - ext4
  • 分區 3 - linux 交換

第二個分區是您將儲存可引導 iso 或已安裝作業系統的位置。使用 grub 載入並選擇您要使用的作業系統。

腳步:

1:將 USB 設備上的分區表清零。

dd if=/dev/zero of=/dev/sdx bs=512 count=4

2:創建分區(使用 cli “fdisk” 或 gui “gparted”)

創建分區表“msdos”類型。

創建分區。

格式化分區。

3:安裝 grub bootloader 到 USB 設備。

將 USB 上的 ext 分區掛載到 PC。 mount /dev/sdx2 /mnt/usbp2

sudo grub-install --boot-directory /mnt/usbp2/boot /dev/sdx

驗證:如果這些存在,到目前為止一切都很好……

/mnt/usbp2/boot/grub/fonts– 最小 unicode.pf2

/mnt/usbp2/boot/grub/i386-pc– *.mod 模組載入到你的 grub.cfg

/mnt/usbp2/boot/grub/local– 語言

/mnt/usbp2/boot/grub/grubenv– 環境變數儲存

4:在主機上為作業系統創建一個grub.cfg文件。

sudo grub-mkconfig --output=/mnt/usbp2/boot/grub/grub.cfg

通過啟動到 USB 進行測試。

當您啟動 USB 驅動器時,您應該獲得主機 PC 上的作業系統列表,而不是空 USB,但這將測試 USB 上的 grub 和 grub 配置。

5:將支持文件複製到USB。

iso 文件

從 clonezilla 等安裝的作業系統映像。

memdisk 二進製文件——從 syslinux 獲取

6grub.cfg在 USB 上為您的 ISO 和安裝的作業系統編輯。

每個實時 ISO 可能需要不同的 grub 資訊。

如果你只得到一個 grub 命令行,你grub.cfg可能包含錯誤。像一個 ISO 一樣開始最小化。

免費現場發行版PartedMagic和其他的範例grub.cfg 。

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