利用grub2制作多啟動U盤


很久以前就做過一個基於grub2的多啟動u盤,但是沒有做記錄,這一次做個記錄,供大家參考,也做個備忘。

以前只是做到了從U盤安裝Ubuntu,以及通過pe安裝win,這次還整合了CentOS(我只試驗了CentOS7,其它版本估計不行,因為其它版本不是用的grub2引導)。

以前比較菜,只能按照教程一步步來,雖然現在也很菜,但是感覺懂得多了一點。

以前以為要做多啟動盤時,u盤只能有一個分區,現在發現不是的,只需要將grub2裝到一個分區就行了,這次我在自己的移動硬盤上分了一個區出來,也裝上了。

下面開始安裝吧。

原材料

  1. 一個足夠大的U盤(或者一個移動硬盤也行)

  2. 一個Ubuntu操作系統(livecd啟動的也行)

  3. 一個pe的ISO及若干操作系統鏡像(Ubuntu Live CD、CentOS7 Live CD)

下面開始正式安裝,一下操作均在Ubuntu中進行

格式化U盤


# 查看一下磁盤情況

shell>> fdisk -l

# umount要格式化的磁盤,我使用的是/dev/sdc3

# 如果沒有掛載,沒有這一步操作

shell>> umount /dev/sdc3

# 格式化

shell>> mkfs.vfat -F 32 -n MULTIBOOT /dev/sdc3

安裝grub2到/dev/sdc3


# 掛載/dev/sdc3

shell>> mkdir -p /media/MULTIBOOT

shell>> mount /dev/sdc3 /media/MULTIBOOT

# 安裝grub2,注意這個命令中最后使用的/dev/sdc,而不是/dev/sdc3

shell>> grub-install --force --no-floppy --boot-directory=/media/MULTIBOOT /dev/sdc 

shell>> cd /media/MULTIBOOT

# 獲取grub.cfg

shell>> wget pendrivelinux.com/downloads/multibootlinux/grub.cfg 

把ISO copy到u盤

首先需要在U盤根目錄下創建一個文件夾叫ISO,然后將ISO拷貝到這個目錄下。

winpe的啟動需要一個特殊的文件叫做memdisk,大家可以上網百度一下,如果找不到可以Email我,我發給你(407778367@qq.com)

配置grub.cfg

需要啟動某個系統,只需要將對應的鏡像拷貝ISO目錄下,並在在grub.cfg中配置即可。

以下是我的配置


# This grub.cfg file was created by Lance http://www.pendrivelinux.com

# Suggested Entries and the suggestor, if available, will also be noted.



set timeout=10

set default=0



menuentry "WinPE" {

	linux16 /ISO/memdisk iso

	initrd16 /ISO/winpe.iso                                  

}



menuentry 'Ubuntu 14.04.2(64)' {

	set isofile="/ISO/ubuntu-14.04.2-desktop-amd64.iso"

	loopback loop $isofile

	linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --

	initrd (loop)/casper/initrd.lz

}



menuentry 'CentOS Linux 7 1503 Live' --class fedora --class gnu-linux --class gnu --class os {

    insmod loopback

    

    set iso_path="/ISO/CentOS-7-x86_64-LiveCD-1503.iso"

    loopback loop $iso_path

    linux (loop)/isolinux/vmlinuz0 iso-scan/filename=$iso_path root=live:CDLABEL=CentOS-7-livecd-x86_64 rootfstype=auto ro quiet rd.live.image noeject rhgb rd.luks=0 rd.md=0 rd.dm=0

    initrd (loop)/isolinux/initrd0.img

}

#menuentry "Ubuntu Desktop ISO(32)" {

# loopback loop /ubuntu.iso

# linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject noprompt splash --

# initrd (loop)/casper/initrd.lz

#}

重啟電腦,測試一下

現在可以重啟電腦,測試一下了。

參考文章

  1. http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/

  2. http://blog.chinaunix.net/uid-14735472-id-4211274.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM