如何在UEFI上使用多个驱动器进行多启动?

最大的社区版本,Ubuntu的发源地
回复
寺島聰子
帖子: 688
注册时间: 2016-06-03 14:39
系统: debian11 mate

如何在UEFI上使用多个驱动器进行多启动?

#1

帖子 寺島聰子 » 2021-09-03 23:22

題目: UEFI上で複数のドライブを使ってマルチブートするにはどうすればいいですか?

私はUEFIのデスクトップで、1番目のハードドライブにdebian10 で1年くらい使ってきた。
我在UEFI的桌面上,第一个硬盘驱动器用了debian 10年左右。

最近別のハードディスクを追加して、debian11をインストールした。(debian10上の問題を切り分けるため)。
最近添加了另一个硬盘,安装了debian 11(debian10为了解决上面的问题)

必要なプログラムや完全にカスタマイズされた古いdebian10を手放すことなく、物理ハードディスクを手で差し替えて、新旧バージョンのdebianを並行して使いたい。
需要的程序和完全定制的旧的不要放开debian 10,用手代替物理硬盘,同时使用新旧版本的debian。

残念ながら、私は UEFI に非常に困惑しています。UEFI でこのようなことができるのか疑問でした。
很遗憾,我对UEFI非常困惑。我不知道在UEFI能不能做这样的事情。

起動したときにBIOSメニューのUEFIエントリに、debian10とdebian11が並んで表示され、両方とも問題なく起動できるようになりたいのです。
启动时BIOS菜单的UEFI条目中,debian 10和debian 11并排显示,希望两者都能正常启动。

debian10上で実行

代码: 全选

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0002

Boot0000* debian HD(1,GPT,4904e13d-5206-480f-9fc8-7cf0895845be,0x800,0x5f000)/File(\EFI\debian\shimx64.efi)

Boot0001* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)AMBO

Boot0002 Hard Drive BBS(HD,,0x0)AMGOAMNO........o.H.G.S.T. .H.T.S.5.4.5.0.3.2.A.7.E.6.8.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .B.R.4.2.E.0.P.M.6.0.Z.T.H.H......AMBO

$ 
:What
寺島聰子
帖子: 688
注册时间: 2016-06-03 14:39
系统: debian11 mate

Re: 如何在UEFI上使用多个驱动器进行多启动?

#2

帖子 寺島聰子 » 2021-09-14 1:13

nǐ hǎo :Haha
放置していた箇所を久しぶりに復習しました
久违地复习了放置的地方

参考源
https://kledgeb.blogspot.com/2015/11/ef ... -uefi.html
efibootmgr その2 - UEFIブートマネージャーにブートローダーを登録する
其2-UEFI启动管理器注册启动管理器

ブートローダーの登録は、エントリーの作成で行います。
在创建条目时注册启动器。

(我)画像を見ると ubuntu , ubuntu2 とあり、自分がしたい debian, debian2 もできそうだ。
(我)看了图片有buntu、ubuntu2,自己想做的debian、debian2也可以。

コマンドのフォーマットは、以下のようになります。(ロングオプションを略してショートオプションだけ挙げる)
命令的格式如下:(只列出长选项和短选项)

代码: 全选

sudo efibootmgr -c -d '有EFI系统分区的盘' -p '分区号' -l '启动器路径' -L '条目名'
-d '有EFI系统分区的盘'

EFIシステムパーティションがあるディスクのデバイスファイルを指定します。
指定有EFI系统分区的磁盘设备文件。
このオプションを省略すると、「/dev/sda」が指定されたものとして扱われます。
如果省略此选项,则会将“/dev/sda”视为指定值。

(我)gparted で確認したら、「/dev/sda」でまちがいない。ゆえに省略できる。
(我)用gparted确认了一下,肯定是“/dev/sda”。因此可以省略。

-p '分区号'

EFIシステムパーティションのパーティション番号を指定します。
指定EFI系统分区的分区号。
このオプションを省略すると、「1」が指定されたものとして扱われます。
如果省略此选项,则会将“1”视为指定值。
(我)これも「1」であるから、省略できる。
(我)这也是“1”,可以省略。
ここまでを方程式に当てはめると...
到这里为止适用于方程式的话。。。

代码: 全选

sudo efibootmgr -c -l '启动器路径' -L '条目名'
-------------------------------------
↓ 以下から説明についていけなくなりました。よろしくおねがいします
↓下面开始就跟不上说明了。请多关照
--loader 'ブートローダーのパス'
--启动器路径'
登録するブートローダーのパスを指定します。
指定要注册的启动器的路径。
パスの区切り記号は、\\(バックスラッシュ2文字)で記述します。
路径分隔符用\(反斜杠2个字符)来表示。
記述例
描述示例
\\EFI\\ubuntu\\shimx64.efi
\\EFI\\ubuntu\\shimx64.efi
寺島聰子
帖子: 688
注册时间: 2016-06-03 14:39
系统: debian11 mate

Re: 如何在UEFI上使用多个驱动器进行多启动?

#3

帖子 寺島聰子 » 2021-11-18 22:20

sudo efibootmgr -c -d 'EFIシステムパーティションがあるディスク' -p 'パーティションの番号' -l 'ブートローダーのパス' -L 'エントリー名'

--disk 'EFIシステムパーティションがあるディスク'
EFIシステムパーティションがあるディスクのデバイスファイルを指定します。
このオプションを省略すると、「/dev/sda」が指定されたものとして扱われます。

>(我)gparted で確認したら、「/dev/sda」でまちがいない。ゆえに省略できる。

--part 'パーティションの番号'
EFIシステムパーティションのパーティション番号を指定します。
このオプションを省略すると、「1」が指定されたものとして扱われます。

> (我)これも「1」であるから、省略できる。
ここまでを方程式に当てはめると...
<< 直感的に理解しがたいが、ターミナルもなく、画像もないゆえに。たぶんusb起動して
端末をのぞいていれば理解できるだろう。
sudo efibootmgr -c -l '启动器路径' -L '条目名'
sudo efibootmgr -c -l 'ブートローダーのパス' -L 'エントリー名'

<< 要点はEFIシステムパーティションはかならず /dev/sda1 であろうから省略できるということ。

1.登録するブートローダー

EFIシステムパーティションは、「/dev/sda1」です。
「shimx64.efi」のパスは、「\EFI\debian\shimx64.efi」です。

2.登録前のUEFIブートマネージャーの状態
「過去の実行例」
$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0002

Boot0000* debian HD(1,GPT,4904e13d-5206-480f-9fc8-7cf0895845be,0x800,0x5f000)/File(\EFI\debian\shimx64.efi)

Boot0001* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)AMBO

Boot0002 Hard Drive BBS(HD,,0x0)AMGOAMNO........o.H.G.S.T. .H.T.S.5.4.5.0.3.2.A.7.E.6.8.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .B.R.4.2.E.0.P.M.6.0.Z.T.H.H......AMBO

$
sudo efibootmgr --create --disk /dev/sda --part 1 --loader \\EFI\\ubuntu\\shimx64.efi --label Ubuntu2

--loader 'ブートローダーのパス'
登録するブートローダーのパスを指定します。
パスの区切り記号は、\\(バックスラッシュ2文字)で記述します。

記述例
\\EFI\\ubuntu\\shimx64.efi
たぶん
\\EFI\\debian\\shimx64.efi --label debian

sudo efibootmgr -c -l 'ブートローダーのパス' -L 'エントリー名'
sudo efibootmgr -c -l \\EFI\\debian\\shimx64.efi -L debian
寺島聰子
帖子: 688
注册时间: 2016-06-03 14:39
系统: debian11 mate

Re: 如何在UEFI上使用多个驱动器进行多启动?

#4

帖子 寺島聰子 » 2021-11-19 0:05

sudo efibootmgr -c -l \\EFI\\debian\\shimx64.efi -L debian
で完全成功です。感謝。
マシン内部をいじったとき(分解掃除など)映像が出なくなったり、そのほか問題発生して、cmosクリアしか方法がなくなり、結果UEFI情報を喪失して、この知識が必要になります。
gpt disk を知らず、なにも考えず従来のmbrのときは、cmosクリアしたからといって、このようなやっかいなことにならなかったと記憶します。
我は古くて貧弱なHDDしか使わないので、GPTのメリットをまったく感じられません。ゆえに次回、クリーンインストールの際はMBRにしてみようと思いました。
ご意見ご指導をおねがいします。
完全成功。感谢。
在摆弄机器内部的时候(分解清扫等)影像就不出来了,除此之外还发生了问题,只能通过cmos,结果失去了UEFI信息,就需要这个知识。
不知道gpt disk,什么都不考虑以前的mbr的时候,即使cmos清除了,也不会变成这样的麻烦的事。
我只使用老弱的HDD,完全感觉不到GPT的好处。所以下次,我想在清洁安装的时候尝试MBR。
请指导我的意见。
回复