打算在64GB的U盘上安装一个Ubuntu 16.04 LTS,这样不管走到哪里往电脑里一插就能得到自己最熟悉的坏境,感觉挺方便的,然而在引导启动时却遇到了问题。
以下是分区情况:
sdb
为U盘设备,MBR分区表
sdb1
空间为20GB格式化为ext4挂载到/
sdb2
空间为16GB格式化为ext4挂载到/home
sdb3
空间为16GB格式化为FAT32以方便接入Windows拷文件,不自动挂载
剩余空间暂时未使用
写好系统后插入电脑选择从U盘启动,却提示Multiple active partitions found(检测到多个活动的分区,原话记不到了,不过意思差不多)。
请问:
像这种在设备上有多个分区的情况,如何正确引导启动存在系统的分区(也就是sdb1
)?是否需要类似于GRUB这样的bootloader?
如果使用GUID分区表,GRUB是否应该安装在EFI分区并将EFI挂载到/boot
?
接上条,我尝试过使用GUID并安装,然而GRUB好像被安装在了我的本地硬盘上的EFI分区(sda1
)上。使用它启动U盘上的启动后,sda1
也被直接挂载到了/boot
,这种情况应该如何解决?
这里Linux新手,很多地方可能都理解得不对,还请多多包涵多多指正,感激不尽!
天蓬老师2017-04-17 15:37:50
プロセスの開始:
ハードウェア BIOS/UEFI --> カーネル
デバイス上に複数のパーティションがある場合、システムが存在するパーティション (つまり、sdb1) を正しく起動するにはどうすればよいでしょうか? GRUB のようなブートローダーが必要ですか?
簡単に言うと、ブートローダーは、カーネルがロードされる前に、カーネル ファイルが配置されているパーティション /boot をマウントし、カーネル ファイルを見つけてメモリにロードし、その後、カーネルに制御を渡します。カーネルはブートローダーを通じてメモリにロードされた後にのみ動作できるため、GRUB と同様のブートローダーが必要です。
システム内に存在するパーティションを正しく起動するには、コンピューターにブートローダーがインストールされている限り (どのハードドライブに関係なく)、ブートローダーはカーネルを見つけて正しくロードできます (必ずしも同じハードドライブ上にあるとは限りません) )。
GPT パーティション テーブルを使用する場合、GRUB を EFI パーティションにインストールし、EFI を /boot にマウントする必要がありますか?
GPT/UEFI コンピュータ システムが GRUB を使用する場合、GRUB の一部は EFI パーティション内の固定ディレクトリ EFI/boot にインストールされる必要があります (GRUB インストール プログラムは、コンピュータ システムの起動時に UEFI によって自動的に完了します)。 GRUB カーネルをロードし、システム全体をロードします。
GPT を使用してインストールしようとしましたが、GRUB はローカル ハード ドライブの EFI パーティション (sda1) にインストールされているようです。これを使用して USB フラッシュ ドライブでブートを開始すると、sda1 も /boot に直接マウントされます。この状況を解決するにはどうすればよいですか?
GRUB のインストール場所はオプションです。通常、GNU/Linux のインストールの最終段階で GRUB のインストール場所を選択できます。
Linux 上のすべてのファイル システムは、このパーティションがどのハード ドライブに属しているかに関係なく、/ の下に編成されます。なぜシステムのブート パーティションではなく、外部ブート パーティションが /boot にマウントされているのかはわかりません。
PHP中文网2017-04-17 15:37:50
Linux についてはあまり詳しくありません...ただし、この種の U ディスク システムの場合、Linux に対応するソリューションは LiveUSB で、Windows に対応するソリューションは WindowsToGo です。さらに、Windows は USB フラッシュ ドライブ上の複数のパーティションをサポートしていないことを覚えていますよね。もちろん、モバイル ハード ドライブであるかどうかは関係ありません。