![](https://img.51dongshi.com/20250105/wz/18519780852.jpg)
啟動盤安裝centos(啟動盤安裝centos7)剛買的thinkpadt430u64位的筆記本,發現裝Linux是一件非常麻煩的事,以前裝個linux系統,配置雙啟,1個小時就能搞定,而這一次我連裝centos6.4帶配置雙啟,花了三個星期。雙啟后成功后又裝了Arch,現在筆記本是三系統,三周的時間里,筆記本重啟不下300次。我也不知道能不能成功,所以事先,并沒有做詳細的筆記。所以下面,只是大致的記錄。關閉secureboot開機按F1進入bios=>security=>secureboot筆記本不同,可能secureboot的配置不同,將其disabled掉,要不然,選擇U盤啟動,光盤啟動都無效,報沒有權限。bios里面配置啟動項,默認efi體育only,改為bothbios=>startup=>uefi/legacyboot啟動優先級里面有三個選擇,1,efionly(注釋:默認)2,both(注釋:二種方式都可以)3,legacyonly(注釋:grub1)這里說的啟動根選擇U盤啟動,光盤啟動不一樣。這里的啟動是,多系統安裝好了,而選擇的啟動模式。而U盤啟動,光盤啟動這種情況是系統還沒有裝時選擇的安裝啟動。我的本子,按F12可以選擇U盤啟動,或者光盤啟動。為什么要進行這一步,如果不改,默認是裝在第二塊硬盤上面的,也就是efi的默認啟動盤,安裝CentOS時:win8裝centos根本沒有“更換設置”這個按鈕,并且引導程序只能安裝在/dev/sda2上面,選中的情況下,centos6.464位,根本安裝不成功,所有包安裝完后,配置時提示報錯,anunhandledexceptionhasoccurred.thisismostlikelyabug.plesecopythefulltextofthisexeceptionandfileadetailedbugreport.againstanacondaat/centos/6.4/os/x86_64/EFI/BOOT/或者是從iso鏡像中解壓也行。3,掛載efi的啟動盤mkdir/mnt/usbmount/dev/sda2/mnt/usbcd/mnt/usbmkdirimagecp/boot/initramfs-2.6.32-358.el6.x86_64.img./image/initrd.imgcp/boot/vmlinuz-2.6.32-358.el6.x86_64./image/vmlinuz在efi啟動盤的根目錄也就是/dev/sda2上面,建一個image文件夾,把裝好的cenots內核考過來,我為什么要這么干呢,因為BOOTX64.conf這個文件就是這么干的。[root@localhostimage]#ll/mnt/usb/image/總用量26812-rwxr-xr-x.1rootroot165322866月118:11initrd.img-rwxr-xr-x.1rootroot30891846月119:11initrd.img-arch//這是arch的,裝了三系統-rwxr-xr-x.1rootroot40438886月118:10vmlinuz-rwxr-xr-x.1rootroot37784966月119:10vmlinuz-arch//這也是arch的,4,這一步建redhat目錄是多余的,我是按照操作時候的步驟來寫這篇博客的[root@localhostEFI]#mkdir/mnt/usb/EFI/redhat為什么要redhat,而不是centos呢,裝好的centos,/boot/efi/EFI(注:這個目錄在系統的boot下面,不在sda2上面),這個目錄下就有redhat,后來我才知道,這個目錄沒用。將上面的三個文件BOOTX64.confBOOTX64.efisplash.xpm.gz,copy到/mnt/usb/EFI/redhat目錄下面看一下我的配置:[root@localhostredhat]#catBOOTX64.conf#debug--graphicsdefault=1#splashimage=/EFI/BOOT/splash.xpm.gztimeout=5#hiddenmenutitleCentOS6.4kernel/image/vmlinuzroroot=/dev/sda7initrd/image/initrd.imgtitleWindows8chainloader/EFI/Microsoft/Boot/win8.efititleArchlinuxkernel/image/vmlinuz-archroroot=/dev/sda9initrd/image/initrd.img-arch上面的win8.efi是bootmgfw.efi的備份,后來我把bootmgfw.efi也替換了,下面會提到的,這東西啟動win8用的。重啟測試重啟F1,進bios,把啟動優先級設為efionly,保存重起進grubgrub>configfile/efi/redhat/BOOTX64.conf注意:grub下面是小定的,linux系統下是大寫的,最好是用tab鍵提示。然后三個啟動選項就出現了,我選了一下,都是可以進的,那叫一個激動啊,離成功不遠了。grub>chainloader/efi/Microsoft/Boot/win8.efiwin8也是可以進的只要啟動時能讓EFI識別BOOTX64.conf這個文件,并讀取,就搞這定了。然后我就開始把redhat這個目錄到處copy,發現不行,我又把BOOTX64.confBOOTX64.efisplash.xpm.gz,這三個文件到處copy,EFI下面的每個目錄我都試了。不行。refindefi啟動器沒辦法啊,就上google上面找efi啟動工具,看了好多,發現TherEFIndBootManager還是比較靠譜的。下載地址:eEFI/BOOT/bootx64.efiorEFI/Microsoft/Boot/bootmgfw.efi.發現有上面的東西,操作如下:[root@localhostEFI]#cp-r./Microsoft/Boot/./Microsoft/Boot_bak[root@localhostEFI]#cp-r./refind/*./Microsoft/Boot/[root@localhostEFI]#cd./Microsoft/Boot/[root@localhostBoot]#cpbootmgfw.efiwin8.efi//上面提到的win8.efi就是在這兒來的[root@localhostBoot]#mvrefind_x64.efibootmgfw.efi先把EFI/Microsoft/Boot/這個目錄備份,這樣我不管怎么配置Boot的目錄,我可以還原,進WIN8絕對沒問題。efi啟動,會默認讀取/EFI/Microsoft/Boot/bootmgfw.efi,我的機子是這樣子的,規定死了。重啟后,可以進入refind的引導界面,但是沒有一個系統能進refind配置不正確,無法進入任何一個系統,但是我發現refind的第二個引導項讀取到了/grub/BOOTX64.conf,并且是默認的centos的BOOTX64.conf,grub是什么時候建的我都忘了,里面是下體育載的原始的centos的BOOTX64.confBOOTX64.efisplash.xpm.gz[root@localhostrefind]#cp/mnt/usb/EFI/redhat/*/mnt/usb/EFI/grub[root@localhostrefind]#cd/mnt/usb/EFI/Microsoft/Boot/[root@localhostBoot]#vimrefind.conftimeout2default_selection2//將第二引導項調為默認知道refind讀取哪個啟動文件就好辦了,把redhat下面已經配置好的文件copy到grub目錄下就搞定了。就這樣我的三系統啟動搞定了,不過還有缺點,第一,引導是分二步的,首先是refind引導,然后refind調用BOOTX64.conf,在通過grub來引導,之后才能進入系統。第二,內核版本,是copy到了,efi的啟動盤上面,升級內核,也用不了,除非在重新將內核copy到sda2上面。平臺