能否跳过efi shell

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
jhc851267
帖子: 5
注册时间: 2015-05-31 14:46

能否跳过efi shell

#1

帖子 jhc851267 » 2015-05-31 15:01

Ubuntu 15.04
每次开机会在efi shell倒计时几秒钟之后正常开机,能否跳过这个界面,不倒计时直接开机
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 能否跳过efi shell

#2

帖子 poloshiao » 2015-05-31 16:19

是實機 還是 virtual machine ?
jhc851267
帖子: 5
注册时间: 2015-05-31 14:46

Re: 能否跳过efi shell

#3

帖子 jhc851267 » 2015-05-31 17:52

poloshiao 写了:是實機 還是 virtual machine ?
Virtuebox 下安装的
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 能否跳过efi shell

#4

帖子 poloshiao » 2015-05-31 22:31

Virtuebox 下安装的
0. 實體電腦 efi 或 uefi 的開機資訊是寫在 nvram 可讀取可寫入
http://zh.wikipedia.org/wiki/%E9%9D%9E% ... 6%E9%AB%94
http://en.wikipedia.org/wiki/Unified_Ex ... FI_booting
0-1. Virtualbox efi 的開機資訊 目前只是實驗性質 可能 可讀取 無法寫入

1. 如果 Ubuntu 是 在 Virtualbox efi enabled 下安裝的 Guest
1-1. 開機 登入 桌面以後 從終端機
sudo efibootmgr -v
舉例 :
BootCurrent: 0004
BootOrder: 0000,0001,0002,0003,0004
Boot0000* EFI DVD/CDROM ACPI(a0341d0,0)PCI(1f,1)ATAPI(0,0,0)
Boot0001* EFI DVD/CDROM 1 ACPI(a0341d0,0)PCI(1f,1)ATAPI(1,0,0)
Boot0002* EFI Hard Drive ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)
Boot0003* EFI Hard Drive 1 ACPI(a0341d0,0)PCI(1f,2)SATA(1,0,0)
Boot0004* EFI Internal Shell MM(b,6204f000,623befff)FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)

1-2. 如果執行
sudo efiboot -o 3
然後
sudo reboot

sudo systemctl reboot
重新開機 就會自動從
0003 ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)
開機
1-2-1. 如果
sudo efibootmgr -v
BootOrder: 0003
意思是
Boot0003* EFI Hard Drive 1 ACPI(a0341d0,0)PCI(1f,2)SATA(1,0,0)
將會是 最優先開機裝置

2. 但是 如果你把 Virtualbox 關閉
下次 重新啟動 Virtualbox 啟動 Guest Ubuntu
然後
sudo efibootmgr -v
發現又恢復為
BootCurrent: 0004
BootOrder: 0000,0001,0002,0003,0004
Boot0000* EFI DVD/CDROM ACPI(a0341d0,0)PCI(1f,1)ATAPI(0,0,0)
Boot0001* EFI DVD/CDROM 1 ACPI(a0341d0,0)PCI(1f,1)ATAPI(1,0,0)
Boot0002* EFI Hard Drive ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)
Boot0003* EFI Hard Drive 1 ACPI(a0341d0,0)PCI(1f,2)SATA(1,0,0)
Boot0004* EFI Internal Shell MM(b,6204f000,623befff)FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
2-1. 意思是
每次 啟動 Virtualbox 啟動 Guest Ubuntu
它的 efi shell 開機順序 都是重新 更新
並不保存上次的變更
2-2. 這個應該是 virtualbox 的目前限制
以後會不會突破這個限制 再繼續追蹤看看
每次开机会在efi shell倒计时几秒钟之后正常开机
3. 你這裡的 正常开机 能否描述一下
開機後
你如何選擇 開機裝置
jhc851267
帖子: 5
注册时间: 2015-05-31 14:46

Re: 能否跳过efi shell

#5

帖子 jhc851267 » 2015-06-01 9:27

poloshiao 写了:
Virtuebox 下安装的
0. 實體電腦 efi 或 uefi 的開機資訊是寫在 nvram 可讀取可寫入
http://zh.wikipedia.org/wiki/%E9%9D%9E% ... 6%E9%AB%94
http://en.wikipedia.org/wiki/Unified_Ex ... FI_booting
0-1. Virtualbox efi 的開機資訊 目前只是實驗性質 可能 可讀取 無法寫入

1. 如果 Ubuntu 是 在 Virtualbox efi enabled 下安裝的 Guest
1-1. 開機 登入 桌面以後 從終端機
sudo efibootmgr -v
舉例 :
BootCurrent: 0004
BootOrder: 0000,0001,0002,0003,0004
Boot0000* EFI DVD/CDROM ACPI(a0341d0,0)PCI(1f,1)ATAPI(0,0,0)
Boot0001* EFI DVD/CDROM 1 ACPI(a0341d0,0)PCI(1f,1)ATAPI(1,0,0)
Boot0002* EFI Hard Drive ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)
Boot0003* EFI Hard Drive 1 ACPI(a0341d0,0)PCI(1f,2)SATA(1,0,0)
Boot0004* EFI Internal Shell MM(b,6204f000,623befff)FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)

1-2. 如果執行
sudo efiboot -o 3
然後
sudo reboot

sudo systemctl reboot
重新開機 就會自動從
0003 ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)
開機
1-2-1. 如果
sudo efibootmgr -v
BootOrder: 0003
意思是
Boot0003* EFI Hard Drive 1 ACPI(a0341d0,0)PCI(1f,2)SATA(1,0,0)
將會是 最優先開機裝置

2. 但是 如果你把 Virtualbox 關閉
下次 重新啟動 Virtualbox 啟動 Guest Ubuntu
然後
sudo efibootmgr -v
發現又恢復為
BootCurrent: 0004
BootOrder: 0000,0001,0002,0003,0004
Boot0000* EFI DVD/CDROM ACPI(a0341d0,0)PCI(1f,1)ATAPI(0,0,0)
Boot0001* EFI DVD/CDROM 1 ACPI(a0341d0,0)PCI(1f,1)ATAPI(1,0,0)
Boot0002* EFI Hard Drive ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)
Boot0003* EFI Hard Drive 1 ACPI(a0341d0,0)PCI(1f,2)SATA(1,0,0)
Boot0004* EFI Internal Shell MM(b,6204f000,623befff)FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
2-1. 意思是
每次 啟動 Virtualbox 啟動 Guest Ubuntu
它的 efi shell 開機順序 都是重新 更新
並不保存上次的變更
2-2. 這個應該是 virtualbox 的目前限制
以後會不會突破這個限制 再繼續追蹤看看
每次开机会在efi shell倒计时几秒钟之后正常开机
3. 你這裡的 正常开机 能否描述一下
開機後
你如何選擇 開機裝置
不需要任何操作,直接进入桌面
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 能否跳过efi shell

#6

帖子 poloshiao » 2015-06-01 11:33

不需要任何操作,直接进入桌面
登入桌面後 可以從終端機
1. sudo efibootmgr -v
看看 預設開機順序 跟 實際從哪個裝置開機
2. sudo ls -al /boot/efi | grep startup.nsh
看看 安裝程式 是否自動幫你安裝好 startup.nsh 在 ESP 分割區
2-1. 如果有
sudo cat /boot/efi/startup.nsh
看看內容
jhc851267
帖子: 5
注册时间: 2015-05-31 14:46

Re: 能否跳过efi shell

#7

帖子 jhc851267 » 2015-06-01 12:38

poloshiao 写了:
不需要任何操作,直接进入桌面
登入桌面後 可以從終端機
1. sudo efibootmgr -v
看看 預設開機順序 跟 實際從哪個裝置開機
2. sudo ls -al /boot/efi | grep startup.nsh
看看 安裝程式 是否自動幫你安裝好 startup.nsh 在 ESP 分割區
2-1. 如果有
sudo cat /boot/efi/startup.nsh
看看內容
stratup.nsh里之前是空的,我自己添加了FS0:\EFI\ubuntu\grubx64.efi这句话
修改Boot的顺序后重启后和4楼说的情况一样,Boot顺序又变回去了,看来是VirtualBox的问题。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 能否跳过efi shell

#8

帖子 poloshiao » 2015-06-01 17:31

stratup.nsh里之前是空的,我自己添加了FS0:\EFI\ubuntu\grubx64.efi这句话
正確

補充
FS0:
也可能是
FS1:
FS2:
FS3:
FS4:
每人情況可能不同
需要從
sudo efibootmgr -v
看看
EFI Internal Shell
是哪一個
jhc851267
帖子: 5
注册时间: 2015-05-31 14:46

Re: 能否跳过efi shell

#9

帖子 jhc851267 » 2015-06-01 18:46

poloshiao 写了:
stratup.nsh里之前是空的,我自己添加了FS0:\EFI\ubuntu\grubx64.efi这句话
正確

補充
FS0:
也可能是
FS1:
FS2:
FS3:
FS4:
每人情況可能不同
需要從
sudo efibootmgr -v
看看
EFI Internal Shell
是哪一個
谢谢了,学习到了些东西
回复