记得叫大红大厨 發表於 2020-7-3 11:22:00

Ubuntu 指定默认启动内核

<p>版本:Ubuntu 18.04</p>
<p>&nbsp;</p>
<p>可以通过开机启动Ubuntu时按 ESC 键来进入GRUB选项,</p>
<p>选择 Advanced options for Ubuntu,然后可以看到所有内核启动菜单,Index从0开始。</p>
<p>&nbsp;</p>
<p>或者输入以下命令:</p>
<div class="cnblogs_code">
<pre>wayde@wayde-desktop:~$ <span style="color: rgba(0, 0, 255, 1)">cat</span> /boot/grub/grub.cfg |<span style="color: rgba(0, 0, 255, 1)">grep</span><span style="color: rgba(0, 0, 0, 1)"> menuentry
</span><span style="color: rgba(0, 0, 255, 1)">if</span> [ x<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">${feature_menuentry_id}</span><span style="color: rgba(128, 0, 0, 1)">"</span> = xy ]; <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)">
menuentry_id_option</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">--id</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
menuentry_id_option</span>=<span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">
export menuentry_id_option
menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-simple-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
submenu </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Advanced options for Ubuntu</span><span style="color: rgba(128, 0, 0, 1)">'</span> $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 5.3.0-59-generic</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-5.3.0-59-generic-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 5.3.0-59-generic (recovery mode)</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-5.3.0-59-generic-recovery-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 5.3.0-53-generic</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-5.3.0-53-generic-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 5.3.0-53-generic (recovery mode)</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-5.3.0-53-generic-recovery-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 5.3.0</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-5.3.0-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 5.3.0 (recovery mode)</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-5.3.0-recovery-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 4.19.65-d1</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-4.19.65-d1-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
    menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 4.19.65-d1 (recovery mode)</span><span style="color: rgba(128, 0, 0, 1)">'</span> --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">gnulinux-4.19.65-d1-recovery-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> {
menuentry </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">System setup</span><span style="color: rgba(128, 0, 0, 1)">'</span> $menuentry_id_option <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">uefi-firmware</span><span style="color: rgba(128, 0, 0, 1)">'</span> {</pre>
</div>
<p>&nbsp;</p>
<p>Index同样从0开始,记住你需要指定内核的Index</p>
<p>修改grub文件,修改后如下:</p>
<div class="cnblogs_code">
<pre>wayde@wayde-desktop:~$ <span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/default/<span style="color: rgba(0, 0, 0, 1)">grub
# If you change this </span><span style="color: rgba(0, 0, 255, 1)">file</span>, run <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">update-grub</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> afterwards to update
# </span>/boot/grub/<span style="color: rgba(0, 0, 0, 1)">grub.cfg.
# For full documentation of the options </span><span style="color: rgba(0, 0, 255, 1)">in</span> this <span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">, see:
#   </span><span style="color: rgba(0, 0, 255, 1)">info</span> -f grub -n <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Simple configuration</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(0, 0, 0, 1)">

GRUB_DEFAULT</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1&gt;6</span><span style="color: rgba(128, 0, 0, 1)">"</span></span><span style="color: rgba(0, 0, 0, 1)">
GRUB_TIMEOUT_STYLE</span>=<span style="color: rgba(0, 0, 0, 1)">hidden
GRUB_TIMEOUT</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
GRUB_DISTRIBUTOR</span>=`lsb_release -i -s <span style="color: rgba(128, 0, 128, 1)">2</span>&gt; /dev/<span style="color: rgba(0, 0, 255, 1)">null</span> || <span style="color: rgba(0, 0, 255, 1)">echo</span><span style="color: rgba(0, 0, 0, 1)"> Debian`
GRUB_CMDLINE_LINUX_DEFAULT</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">quiet splash ignore_loglevel log_buf_len=32M&nbsp;console=tty i915.enable_gvt=1 i915.enable_fbc=0 kvm.ignore_msrs=1 intel_iommu=on,igfx_off drm.debug=0</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
GRUB_CMDLINE_LINUX</span>=<span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no </span><span style="color: rgba(0, 0, 255, 1)">patch</span><span style="color: rgba(0, 0, 0, 1)"> required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">0x01234567,0xfefefefe,0x89abcdef,0xefefefef</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

# Uncomment to disable graphical terminal (grub</span>-<span style="color: rgba(0, 0, 0, 1)">pc only)
#GRUB_TERMINAL</span>=<span style="color: rgba(0, 0, 0, 1)">console

# The resolution used on graphical terminal
# note that you can use only modes </span><span style="color: rgba(0, 0, 255, 1)">which</span><span style="color: rgba(0, 0, 0, 1)"> your graphic card supports via VBE
# you can see them </span><span style="color: rgba(0, 0, 255, 1)">in</span> real GRUB with the command `vbeinfo<span style="color: rgba(128, 0, 0, 1)">'
</span>#GRUB_GFXMODE=64<span style="color: rgba(128, 0, 128, 1)">0x480</span><span style="color: rgba(0, 0, 0, 1)">

# Uncomment </span><span style="color: rgba(0, 0, 255, 1)">if</span> you don<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t want GRUB to pass "root=UUID=xxx" parameter to Linux</span>
#GRUB_DISABLE_LINUX_UUID=<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">true</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

# Uncomment to get a </span><span style="color: rgba(0, 0, 255, 1)">beep</span><span style="color: rgba(0, 0, 0, 1)"> at grub start
#GRUB_INIT_TUNE</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">480 440 1</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p>&nbsp;</p>
<p>以上只修改了&nbsp;<span data-mce-="">GRUB_DEFAULT=<span data-mce-="">"<span data-mce-="">1&gt;6<span data-mce-="">"</span></span></span></span> 部分,1代表启动时第一层菜单里的 Advanced options for Ubuntu,6即为指定内核的Index。</p>
<p>注意引号是必须的。</p>
<p>&nbsp;</p>
<p>另一种方法是直接填入内核的名称:</p>
<div class="cnblogs_code">
<pre>GRUB_DEFAULT=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Ubuntu, with Linux 4.19.65-d1</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p>&nbsp;</p>
<p>update grub后会有警告提示使用新的名称格式:</p>
<div class="cnblogs_code">
<pre>root@wayde-desktop:/home/wayde# update-<span style="color: rgba(0, 0, 0, 1)">grub
Sourcing </span><span style="color: rgba(0, 0, 255, 1)">file</span> `/etc/default/grub<span style="color: rgba(128, 0, 0, 1)">'
</span>Generating grub configuration <span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)"> ...
Found linux image: </span>/boot/vmlinuz-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">59</span>-<span style="color: rgba(0, 0, 0, 1)">generic
Found initrd image: </span>/boot/initrd.img-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">59</span>-<span style="color: rgba(0, 0, 0, 1)">generic
Found linux image: </span>/boot/vmlinuz-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">53</span>-<span style="color: rgba(0, 0, 0, 1)">generic
Found initrd image: </span>/boot/initrd.img-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">53</span>-<span style="color: rgba(0, 0, 0, 1)">generic
Found linux image: </span>/boot/vmlinuz-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
Found initrd image: </span>/boot/initrd.img-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
Found linux image: </span>/boot/vmlinuz-<span style="color: rgba(128, 0, 128, 1)">4.19</span>.<span style="color: rgba(128, 0, 128, 1)">65</span>-<span style="color: rgba(0, 0, 0, 1)">d1
Found initrd image: </span>/boot/initrd.img-<span style="color: rgba(128, 0, 128, 1)">4.19</span>.<span style="color: rgba(128, 0, 128, 1)">65</span>-<span style="color: rgba(0, 0, 0, 1)">d1
<span style="background-color: rgba(255, 255, 0, 1)">Warning: Please don</span></span><span style="background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t use old title `Ubuntu, with Linux 4.19.65-d1</span><span style="color: rgba(128, 0, 0, 1)">'</span> <span style="color: rgba(0, 0, 255, 1)">for</span> GRUB_DEFAULT, use `Advanced options <span style="color: rgba(0, 0, 255, 1)">for</span> Ubuntu&gt;Ubuntu, with Linux <span style="color: rgba(128, 0, 128, 1)">4.19</span>.<span style="color: rgba(128, 0, 128, 1)">65</span>-d1<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)"> (for versions before 2.00) or `gnulinux-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8&gt;gnulinux-4.19.65-d1-advanced-a0b77529-08f4-4fbc-b3a8-85bb77db44e8</span><span style="color: rgba(128, 0, 0, 1)">'</span> (<span style="color: rgba(0, 0, 255, 1)">for</span> <span style="color: rgba(128, 0, 128, 1)">2.00</span><span style="color: rgba(0, 0, 0, 1)"> or later)
Adding boot menu entry </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> EFI firmware configuration
</span></span><span style="color: rgba(0, 0, 255, 1)">done</span></pre>
</div>
<p>按照其提示的名字再次进行修改即可。</p>
<p>&nbsp;</p>
<p>修改完毕之后:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> update-grub</pre>
</div>
<p>&nbsp;</p>
<p>重启即可自动从指定内核启动。</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/zoneofmine/p/13229347.html
頁: [1]
查看完整版本: Ubuntu 指定默认启动内核