隨着計算機網絡技術的發展,目前越來越多的用戶主機已經不再配置傳統光驅等介質訪問設備。操作系統的安裝也越來越多的開始使用USB方式進行。Linux作爲現代操作系統之一也提供了更爲現代的安裝模式。但一般情況下我們使用USB方式進行Linux系統安裝前都需要將各個發行版本的 LinuxUSB安裝鏡像軟刻錄到U盤上,這樣才能順利完成安裝。多數非專業用戶操作起來有較大的難度,同時這樣的安裝方式也不便於系統管理員方便的進行操作,試想每次不同的Linux系統進行安裝及救援時都需要先重新進行鏡像的軟刻錄,費時費力。爲了解決以上問題,Linux很多發行版本提供了使用Grub引導器直接引導ISO的模式,經過不斷的測試發現該方式不但可以引導系統安裝,同時也可以引導系統進入Linux救援模式以進行系統的緊急救援處理。
爲什麼要做U盤安裝啓動盤???
很久之前裝 linux 時,做 usb 啓動盤,比較麻煩。要用 unetbootin,usb creater 之類的工具。當然可以直接使用dd命令製作啓動盤 。但是這些方法都有個痛點,就是要把u盤給格式化,或是覆蓋擦寫。而且現在的U盤容量越來越大,如果採用以上方式製作啓動盤則大大浪費空間,以一個16G U盤爲例,普華服務器3.0 的ISO文件本來是4G,但是卻要佔用整個16G空間,所以造成資源的嚴重浪費。
另外grub2的 loopback 特性,可以直接引導ISO文件,只要給U盤安裝個grub配置一下就OK了。
相比傳統制作啓動盤的優勢:
1)不用格式化U盤
2)grub可以引導U盤中不同發行版的ISO
3)ISO更新,只要替換ISO文件就可以,依舊不用再折騰
4)不影響U盤的正常使用
CentOS 6及以前版本U盤啓動方法
以普華服務器3.0系統爲例(採用grub方式引導):1、確保U盤的文件系統是fat32或ext2,不能是NTFS格式
# fdisk /dev/sdb
# mkfs.vfat /dev/sdb1
2、將U盤插到服務器上並掛載
# mount /dev/sdb1 /mnt
3、在U盤上安裝啓動grub
# grub-install --root-directory=/mnt /dev/sdb
4、將iSoft Server 3.0安裝光盤isolinux目錄下的vmlinuz和initrd.img以及isolinux和images拷貝到U盤根目錄
# mount -o loop iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /dvd
# cd /dvd
# cp -a isolinux /mnt
# cp -a images /mnt
# cd isolinux
# cp vmlinuz /mnt
# cp initrd.img /mnt
5、將手頭的普華服務器系統盤iso文件也拷貝到U盤的根目錄
#cp iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /mnt
6、在機器上插入U盤,然後開機選擇從U盤啓動,等待進入grub命令行7、引導內核
grub > kernel /vmlinuz
8、初始化內存文件系統
grub > initrd /initrd.img
9、啓動安裝進程
grub > boot
10、最後根據提示安裝即可
CentOS 7及以後版本U盤安裝方法
以普華服務器4.0系統爲例(採用grub2方式引導):
目前在各大Linux發行版本中基本都採用grub2的方式來引導並啓動系統,至於它的強大這裏就不多說了,如果對grub2感興趣的同學可以參考:http://www.gnu.org/software/grub/manual/grub.html#Configuration,或者通過百度和Google來學習相關知識。基本上任何操作系統都有可能通過它引導起來,而且引導界面可定製、彩色菜單、圖片背景顯示都不在話下。
說明:以下所有命令是在普華桌面3.0上進行操作的
1、確保U盤的文件系統是fat32或ext2(ext3、ext4),不能是NTFS格式,由於某些系統的IOS文件可能大於4G,所以我們需要將U盤格式化成ext2格式
# fdisk /dev/sdb
# mkfs.ext2 /dev/sdb1
2、將U盤插到服務器上並掛載
# mount /dev/sdb1 /mnt
3、在U盤上安裝啓動grub
# mkdir /mnt/boot
# grub-install --boot-directory=/mnt/boot /dev/sdb
或者
# grub2-install --boot-directory=/mnt/boot /dev/sdb
以上grub-install和grub2-install都爲grub2命令,至於使用那個命令取決於不同操作系統,比如普華桌面3.0和4.0就使用grub-install,而普華服務器4.0則使用grub2-install命令來實現。
安裝完grub後會在/mnt/boot目錄下生成一個grub目錄,然後進入grub目錄可顯示如下內容:
# cd /mnt/boot/grub
# ll
4、在U盤上創建存放ISO文件的目錄,並將相關ISO文件複製到相應目錄中,本次測試共涉及iSoft Server 4.0、iSoft Server 3.0、iSoft Desktop 4.0、iSoft Desktop 3.0、Ubuntu Desktop 14.04 五個發行版操作系統,基本可以涵蓋目前我們公司相關產品。
# mkdir /mnt/iso
# cd /mnt/iso
# mkdir isoftdesktop3 isoftdesktop4 isoftserver3 isoftserver4 ubuntudesktop
# cp /opt/iSoft-Server-OS-4.0-x86_64-201605251631.iso /mnt/iso/isoftserver4
# cp /opt/isoft-desktop-v4.0-rc3-x86_64.iso /mnt/iso/isoftdesktop4
# cp /opt/isoft-desktop-v3.0-x86_64.iso /mnt/iso/isoftdesktop3
# cp /opt/ubuntu-14.04.1-desktop-amd64.iso /mnt/iso/ubuntudesktop
# cp /opt/iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /mnt/iso/isoftserver3
這裏需要注意iSoft Server 3.0還需要拷貝images和isolinux兩個目錄纔可以進行安裝,相關操作如下:
# mount -o loop /opt/iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /dvd
# cd /dvd
# cp -r images isolinux /mnt/iso/isoftserver3
5、安裝好grub後是沒有grub.cfg文件,此時U盤是可以啓動的,但只會進入到grub>命令行中,爲了便於操作我們可以創建grub.cfg文件來讓它自動識別並啓動相應操作系統,我的grub.cfg配置如下:
到此可以引導多系統的啓動U盤製作完成。
另外需要注意的是針對各個發行版本操作系統的grub.cfg文件編寫存在一定的差異,需要根據自己的需求查詢相應發行版操作系統的wiki。
6、在機器上插入U盤,然後開機選擇從U盤啓動,等待進入grub啓動界面,啓動後進入如下界面:
然後根據自己的安裝需要安裝相應的操作系統即可。