BV1AL 之無所不記

2019-02-28

Live USB最簡單製做法

現在的BIOS大都支援UEFI boot, 所以製作USB boot disk已經不必再去管MBR,
也就是不必依賴特殊的工具來產生可以開機的USB隨身碟, 只要format 成FAT32
再利用grub2 加上幾個檔案就能開機.

使用Linux最簡單的作法是割第一個partition format成FAT32, 剩下的就做成
單一的第二partition 使用ext3(或ext4) format, 用來存放Linux.

第一個partition 挖兩個目錄, 一個為 /boot/grub/ 下面就放單一個 grub.cfg
即可, 裡面的規格也很簡單
set default=N  (就是以下開機項目的第幾個, 從0開始算)
set timeout=M  (就是沒按Enter之後幾秒開始戴入系統)

menuentry 'Ubuntu 18.04' {
linux /path/vmlinuz.a option1 option2 option.....
initrd /path/initrda.img
}

menuentry 'MX Linux 18.1' {
linux /path/vmlinuz.b option1 option2 option.....
initrd /path/initrdb.img
}

menuentry 'CentOS 7.4' {
linux /path/vmlinuz.b option1 option2 option.....
initrd /path/initrdb.img
}

第一個partition另一個目錄是 /efi/boot/ 下面放一個bootx64.efi 就夠了.

不過,這樣是沒有美觀的考量,但已經滿足開機的需求.
(如果更懶,可以整支USB 只有一個FAT32 partition, 但就沒有ext的好處可用)

再來就是第二個partition, 只要空間夠大, 可以放無數個Linux版本,例如:
ub1804 用來放 Ubuntu 18.04
mx181  用來放 MX Linux 18.1
cent74 用來放 CentOS 7.4

第一個partition另一個目錄是 /efi/boot/ 下面放一個bootx64.efi 就夠了.

不過,這樣是沒有美觀的考量,但已經滿足開機的需求.
(如果更懶,可以整支USB 只有一個FAT32 partition, 但就沒有ext的好處可用)

再來就是第二個partition, 只要空間夠大, 可以放無數個Linux版本,例如:
ub1804 用來放 Ubuntu 18.04
mx181  用來放 MX Linux 18.1
cent74 用來放 CentOS 7.4

在第一個partition 的grub.cfg 裡怎麼控制要開機進哪個Linux, 關鍵在於
1.指定系統所在的partition
2.指定系統所在的目錄

指定partition
Ubuntu用uuid=xxxxxxxxxxxx
MX Linux用buuid=xxxxxxxxxxxx
CentOS用root=live:UUID=

指定Linux目錄
Ubuntu用live-media-path=
MX Linux用 bdir=
CentOS用rd.live.dir=

squashfs壓縮的系統檔預設檔名
Ubuntu是filesystem.squashfs
MX Linux是linuxfs
CentOS是squashfs.img

重點都提到了!哈

標籤: ,