Linux Ubuntu 修改Grub,添加删除启动项,初步辨析Grub文件。
生活随笔
收集整理的這篇文章主要介紹了
Linux Ubuntu 修改Grub,添加删除启动项,初步辨析Grub文件。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用場景:
由于我的電腦 裝Ubuntu 的時候電腦里只有一個Windows 系統(tǒng),所以Ubuntu就自動將我Windows的啟動項添加進取。
后來我的電腦里又裝了 Kali 和 Win11 所以想把這兩個啟動項也加進去。所以我們來了解一下Ubuntu的Grub,還不是很完善,希望那個大家在評論給我補充。
在Ubuntu 中打開Grub
sudo gedit /boot/grub/grub.cfg sudo vi /boot/grub/grub.cfg取決于你的編輯器完整的Grub文件,以我的為例子
# # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; thenset have_grubenv=trueload_env fi if [ "${initrdfail}" = 2 ]; thenset initrdfail= elif [ "${initrdfail}" = 1 ]; thenset next_entry="${prev_entry}"set prev_entry=save_env prev_entryif [ "${next_entry}" ]; thenset initrdfail=2fi fi if [ "${next_entry}" ] ; thenset default="${next_entry}"set next_entry=save_env next_entryset boot_once=true elseset default="0" fiif [ x"${feature_menuentry_id}" = xy ]; thenmenuentry_id_option="--id" elsemenuentry_id_option="" fiexport menuentry_id_optionif [ "${prev_saved_entry}" ]; thenset saved_entry="${prev_saved_entry}"save_env saved_entryset prev_saved_entry=save_env prev_saved_entryset boot_once=true fifunction savedefault {if [ -z "${boot_once}" ]; thensaved_entry="${chosen}"save_env saved_entryfi } function initrdfail {if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; thenif [ -z "${initrdfail}" ]; thenset initrdfail=1if [ -n "${boot_once}" ]; thenset prev_entry="${default}"save_env prev_entryfifisave_env initrdfailfi; fi } function recordfail {set recordfail=1if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video {if [ x$feature_all_video_module = xy ]; theninsmod all_videoelseinsmod efi_gopinsmod efi_ugainsmod ieee1275_fbinsmod vbeinsmod vgainsmod video_bochsinsmod video_cirrusfi }if [ x$feature_default_font_path = xy ] ; thenfont=unicode else insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bd elsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bd fifont="/usr/share/grub/unicode.pf2" fiif loadfont $font ; thenset gfxmode=autoload_videoinsmod gfxtermset locale_dir=$prefix/localeset lang=zh_CNinsmod gettext fi terminal_output gfxterm insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bd elsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bd fi insmod gfxmenu loadfont ($root)/boot/grub/themes/CyberRe/dejavu_14.pf2 loadfont ($root)/boot/grub/themes/CyberRe/droidlogo_bold_17.pf2 loadfont ($root)/boot/grub/themes/CyberRe/droidlogo_bold_20.pf2 loadfont ($root)/boot/grub/themes/CyberRe/droidlogo_bold_26.pf2 loadfont ($root)/boot/grub/themes/CyberRe/droidlogo_regular_12.pf2 loadfont ($root)/boot/grub/themes/CyberRe/droidlogo_regular_17.pf2 insmod png set theme=($root)/boot/grub/themes/CyberRe/theme.txt export theme if [ "${recordfail}" = 1 ] ; thenset timeout=30 elseif [ x$feature_timeout_style = xy ] ; thenset timeout_style=hiddenset timeout=100# Fallback hidden-timeout code in case the timeout_style feature is# unavailable.elif sleep --interruptible 100 ; thenset timeout=0fi fi ### END /etc/grub.d/00_header ###### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/light-gray ### END /etc/grub.d/05_debian_theme ###### BEGIN /etc/grub.d/10_linux ### function gfxmode {set gfxpayload="${1}"if [ "${1}" = "keep" ]; thenset vt_handoff=vt.handoff=7elseset vt_handoff=fi } if [ "${recordfail}" != 1 ]; thenif [ -e ${prefix}/gfxblacklist.txt ]; thenif hwmatch ${prefix}/gfxblacklist.txt 3; thenif [ ${match} = 0 ]; thenset linux_gfx_mode=keepelseset linux_gfx_mode=textfielseset linux_gfx_mode=textfielseset linux_gfx_mode=keepfi elseset linux_gfx_mode=text fi export linux_gfx_mode### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows Boot Manager (在 /dev/nvme1n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-B15C-4C64' {insmod part_gptinsmod fatif [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root B15C-4C64elsesearch --no-floppy --fs-uuid --set=root B15C-4C64fichainloader /EFI/Microsoft/Boot/bootmgfw.efi }menuentry 'Ubuntu 21' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfilinux /boot/vmlinuz-5.11.0-43-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro quiet splash $vt_handoffinitrd /boot/initrd.img-5.11.0-43-generic } submenu 'Ubuntu 的高級選項' $menuentry_id_option 'gnulinux-advanced-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {menuentry 'Ubuntu,Linux 5.11.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-43-generic-advanced-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-43-generic ...'linux /boot/vmlinuz-5.11.0-43-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro quiet splash $vt_handoffecho '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-43-generic}menuentry 'Ubuntu, with Linux 5.11.0-43-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-43-generic-recovery-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-43-generic ...'linux /boot/vmlinuz-5.11.0-43-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro recovery nomodeset dis_ucode_ldr echo '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-43-generic}menuentry 'Ubuntu,Linux 5.11.0-41-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-41-generic-advanced-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-41-generic ...'linux /boot/vmlinuz-5.11.0-41-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro quiet splash $vt_handoffecho '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-41-generic}menuentry 'Ubuntu, with Linux 5.11.0-41-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-41-generic-recovery-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-41-generic ...'linux /boot/vmlinuz-5.11.0-41-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro recovery nomodeset dis_ucode_ldr echo '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-41-generic} }### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/10_linux_zfs ### ### END /etc/grub.d/10_linux_zfs ###### BEGIN /etc/grub.d/20_linux_xen ###### END /etc/grub.d/20_linux_xen ###### BEGIN /etc/grub.d/20_memtest86+ ### ### END /etc/grub.d/20_memtest86+ ###set timeout_style=menu if [ "${timeout}" = 0 ]; thenset timeout=10 fi ### END /etc/grub.d/30_os-prober ###### BEGIN /etc/grub.d/30_uefi-firmware ### menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {fwsetup } ### END /etc/grub.d/30_uefi-firmware ###### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ###### BEGIN /etc/grub.d/41_custom ### if [ -f ${config_directory}/custom.cfg ]; thensource ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; thensource $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ###啟動項部分
BEGIN /etc/grub.d/30_os-prober
menuentry 'Windows Boot Manager (在 /dev/nvme1n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-B15C-4C64' {insmod part_gptinsmod fatif [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root B15C-4C64elsesearch --no-floppy --fs-uuid --set=root B15C-4C64fichainloader /EFI/Microsoft/Boot/bootmgfw.efi }menuentry 'Ubuntu 21' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfilinux /boot/vmlinuz-5.11.0-43-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro quiet splash $vt_handoffinitrd /boot/initrd.img-5.11.0-43-generic } submenu 'Ubuntu 的高級選項' $menuentry_id_option 'gnulinux-advanced-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {menuentry 'Ubuntu,Linux 5.11.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-43-generic-advanced-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-43-generic ...'linux /boot/vmlinuz-5.11.0-43-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro quiet splash $vt_handoffecho '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-43-generic}menuentry 'Ubuntu, with Linux 5.11.0-43-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-43-generic-recovery-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-43-generic ...'linux /boot/vmlinuz-5.11.0-43-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro recovery nomodeset dis_ucode_ldr echo '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-43-generic}menuentry 'Ubuntu,Linux 5.11.0-41-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-41-generic-advanced-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-41-generic ...'linux /boot/vmlinuz-5.11.0-41-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro quiet splash $vt_handoffecho '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-41-generic}menuentry 'Ubuntu, with Linux 5.11.0-41-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-41-generic-recovery-77ce85c5-1b12-4291-85c6-20b1fd8919bd' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_gptinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdelsesearch --no-floppy --fs-uuid --set=root 77ce85c5-1b12-4291-85c6-20b1fd8919bdfiecho '載入 Linux 5.11.0-41-generic ...'linux /boot/vmlinuz-5.11.0-41-generic root=UUID=77ce85c5-1b12-4291-85c6-20b1fd8919bd ro recovery nomodeset dis_ucode_ldr echo '載入初始化內(nèi)存盤...'initrd /boot/initrd.img-5.11.0-41-generic}啟動項分為直接啟動項,和菜單啟動項:
直接啟動項的內(nèi)容:
兩種寫法menuentry 'Windows Boot Manager (在 /dev/nvme1n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-B15C-4C64' {insmod part_gptinsmod fatif [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root B15C-4C64elsesearch --no-floppy --fs-uuid --set=root B15C-4C64fichainloader /EFI/Microsoft/Boot/bootmgfw.efi }menuentry 'Window10' { insmod ntfs set root=(hd0,msdos1) search –no-floppy –fs-uuid –set 1C12FC8012FC5FE6 chainloader +1 }總結(jié)
以上是生活随笔為你收集整理的Linux Ubuntu 修改Grub,添加删除启动项,初步辨析Grub文件。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10企业版激活码有哪些
- 下一篇: OpenAI CTO:学校不应禁止 Ch