內容來自網上查找和總結以及自己的嘗試
boot里面的啟動項是根據其它文件生成的,如果改boot里面,會在你更新grub后再次回到原來的狀態。(之后 我(有顯卡驅動問題的用戶)通過在開機時選擇系統頁面按e在倒數第二行ro quiet splash 后面加上acpi_osi=! acpi_osi="Windows 2009"可以從最新內核進入系統。在/etc/default/grub 文件里面相同位置也加上這一句后會讓系統不能自己更新grub,之后你就可以在boot/grub里面直接更改啟動項內容而不必擔心系統回滾)
更改啟動項主要從兩個文件夾改:/etc/default/grub和/etc/grub.d,下面解釋一下這兩個文件夾的內容。.
1./etc/default/grub:
GRUB_BACKGROUND="/boot/grub/themes/deepin/background.png" #背景圖片的路徑
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet" #開機的開機動畫(貌似是,需要加載顯卡)有顯卡驅動問題的可以在后面加上 nomodeset(此選項只會追加在一般模式后)
GRUB_DEFAULT=0 #默認啟動項,這個值為0就是默認啟動第一個,為1默認啟動第二個
GRUB_DISABLE_RECOVERY="true" #禁止顯示救援模式(這個不太懂)
GRUB_DISTRIBUTOR="`/usr/bin/lsb_release -d -s 2>/dev/null || echo Deepin`" #獲得發行版本(此行將追加到所有的linux 定義內核行的后面,不論是救援模式還是一般模式)
GRUB_GFXMODE="1920x1080" #啟動的分辨率
GRUB_THEME="/boot/grub/themes/deepin/theme.txt" #啟動的主題,是各種圖片和各種顯示的字體
GRUB_TIMEOUT=5 #等待時間,5秒未操作直接進入默認系統。改為-1是一直等待。
2./etc/grub.d:
00_header # 配置初始的顯示項目,如默認選項,時間限制等,一般由/etc/default/grub導入,一般不需要配置
05_debian_theme # 配置引導畫面,文字顏色等主題
10_linux #定位當前操作系統使用中的root設備內核的位置,包含deepin 啟動項和advanced里面的啟動項
15_linux_bar # 救援模式的啟動項
20_linux_xen # 虛擬機監視器的東西,(暫時不知有什么用
30_uefi-firmware # “system setup” 的啟動項
35_os-prober # windows的啟動項一般在這個里面
40_custom # 用來加入用戶自定義的啟動項,將會在執行update-grub時更新至grub.cfg中
41_custom # 判斷custom.cfg此配置文件是否存在,如果存在就加載它
前面的數字是對文件排列執行的順序進行排序,可進行更改,比如你想把windows啟動項調到第一個,就把35_os-prober前面那個數字改成5到10的數字,比如06、07、08、09.
3.想更改deepin系統的啟動內核(有這個需求是不少人在新內核上有顯卡驅動問題,而從advanced里面進不能默認進入)
(deepin默認的應該是最新的啟動內核,你在boot/grub/grub.cfg里面更改的話只要一更新grub就會回到原來的內核)因此是要改10_linux文件的,但是里面是匯編命令看不懂,
這時40_custom 提供了一個在啟動頁面加一個新的啟動項的簡單方法,具體操作如下:
1.打開boot/grub/grub.cfg,找到你默認的啟動項(或者你想要改到外面的advanced里面的啟動項)(這些啟動項都在10_linux里面),大概如下:
menuentry 'Deepin 15.6 GNU/Linux(名字在這里改)' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6873bab1-cdf1-4931-8717-d2258cb3ad87'
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 6873bab1-cdf1-4931-8717-d2258cb3ad87
else
search --no-floppy --fs-uuid --set=root 6873bab1-cdf1-4931-8717-d2258cb3ad87
fi
linux /boot/vmlinuz-4.15.0-21deepin-generic root=UUID=6873bab1-cdf1-4931-8717-d2258cb3ad87 ro splash quiet
initrd /boot/initrd.img-4.15.0-21deepin-generic
}
2.復制粘貼到40_custom那三行字下面(需要以管理員身份打開)
3.然后把名字改一下(為了避免重復嘛,你要是在advanced里面復制的就不用改了),最后兩行是啟動內核,改一下(當然,你要是復制的advanced里面你想改的內核啟動項就直接粘貼就行了)
4.保存 之后sudo update-grub就可以了。之后再根據你的需要改順序和默認啟動項就行。