请教下,用移动硬盘装 Linux,你们是怎么分区的,还有是怎么引导的? 现在我的分区是: EFI 1G / 50G /home 50G
可是安装的时候报错:GRUB 安装失败!
1
RYAN0UP OP 对了,Linux 的版本是 Linux Mint18.2
|
2
zjqzxc 2017-10-13 15:49:26 +08:00 1
装过,正常安装,grub2 装在移动硬盘上,mbr,没遇到过问题
gpt 没试过 分区就俩,一个根分区,一个交换分区,剩下的格式化成 ntfs 方便 windows 下使用 |
3
RYAN0UP OP @zjqzxc 我和你的分区差不多。不过我是用的 gpt。本想着 GRUB 安装失败了,手动添加引导也不行。
|
4
yiyiwa 2017-10-13 16:00:52 +08:00
用 vmware 装过, 直接使用物理硬盘方式, 然后放其它电脑一样起来。
|
6
ysc3839 2017-10-13 16:06:54 +08:00 via Android
ESP 哪要 1G ? 100M 就够了。
|
7
RYAN0UP OP @ysc3839 我百度的这个错误,然后有人说是 EFI 最低 500M,最好 1G。然后我就相信他了。😂😂😂
|
8
hei1000 2017-10-13 16:15:12 +08:00
|
9
neosfung 2017-10-13 16:17:38 +08:00
我有个 200g 的 ssd 移动硬盘,就是装了 Ubuntu 16.04 了
|
10
kkxxxxxxx 2017-10-13 16:17:42 +08:00
同问题,MBR 就没问题,GPT 就没法引导,用的自动分区
|
13
zjqzxc 2017-10-13 16:22:39 +08:00
刚才虚拟机下使用 efi+gpt+debian 9,没有选写引导位置这一步,直接过了
bios+gpt+debian 9,把主引导记录转载 /dev/sda 上可以正常使用 大概搜索了以下,有说法是,可以把 grub2 装在分区上,如 /dev/sda2(假设根分区在 sda2)上,可以试试这种方法 |
14
RYAN0UP OP @zjqzxc 搞定啦,不过有点不懂,它把引导文件装在了我电脑硬盘的 EFI 分区上,然后我把里面的引导文件放到移动硬盘的 EFI 分区上就成功启动啦。😁😁😁
|
15
yiyiwa 2017-10-13 16:26:54 +08:00
@RYAN0UP 我那样操作,是因为不想重启,然后本机刚好有 vmware,同事要安装 centos,然后就这样折腾了,确实可以。
|
16
RYAN0UP OP 谢谢大家,已经弄好了,引导文件装在了我电脑本身硬盘的 EFI 分区里,然后复制到移动硬盘的 EFI 就可以启动了。
|
18
RYAN0UP OP @yiyiwa 这样对于所有系统都可以,也确实是一种解决方式。不过性能有影响。用移动硬盘可以很流畅的。
|
21
zkwang 2017-10-13 16:36:21 +08:00
几年前需要在移动硬盘上装 ubuntu,有一个最简单的办法:
打开机箱,拔掉安装盘,用光盘或者 U 盘启动电脑,就和装硬盘一样,一路装下去,装完启动完全正常。 |
22
zkwang 2017-10-13 16:37:32 +08:00
几年前需要在移动硬盘上装 ubuntu,有一个最简单的办法:
打开机箱,拔掉硬盘,用光盘或者 U 盘启动电脑,就和装硬盘一样,一路装下去,装完启动完全正常。 那时候没有 EFI. |
23
zjqzxc 2017-10-13 17:01:29 +08:00 1
查资料并结合 vmware 看了下
uefi+gpt 这套系统,操作系统的“引导”存在在两个地方。1、主硬盘的 EFI 分区下,存在着一个扩展名为.efi 的文件,是主要的引导程序,debian 中这个分区被挂载在 /boot/efi 目录下(其它系统我没试); 2、主板的某块芯片里被写入了一条记录,用来记录这个.efi 文件存在在哪块硬盘( uuid 方式表示硬盘)的哪个位置叫什么名字 如果把硬盘拆除,启动时扔能看到这个系统的引导记录 “它把引导文件装在了我电脑硬盘的 EFI 分区上” https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions 微软的文档里有这么一句话:“ This partition is usually stored on the primary hard drive. ”估计可能在设计上会默认把所有的 efi 引导程序都写入主磁盘的 efi 分区吧。 楼上说在虚拟机里把移动硬盘直接挂载进去,刚好避免了这个问题。不过对这个操作能不能适用于纯 uefi+gpt 系统可能有疑问( bios+mbr 没问题,以前也这么干过),在 vmware 中新建了一个虚拟机,把装好系统的 gpt 格式磁盘挂载上去,无法发现这个硬盘上的操作系统(原因是,另一条机器的“主板芯片”中并没有对应的引导记录)。 @RYAN0UP |
24
opengps 2017-10-13 17:06:58 +08:00
linux 不清楚,但是如果 windows,则需要手动标记成活动分区
|
25
zjqzxc 2017-10-13 17:10:10 +08:00
补充#23 最后一段说的那个“主板芯片”说法,实际上应该是 NVRAM:
https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#UEFI_booting 第一段最后: " The boot configuration is defined by variables stored in NVRAM, including variables that indicate the file system paths to OS loaders and OS kernels." |
29
boboliu 2017-10-13 20:13:11 +08:00 via Android 2
看完心有所感,然后去试了试,现在我移动硬盘里面的数据已经全部 GG 了
|
31
JackieMe 2017-10-13 20:30:01 +08:00 via Android
所以你应该是 UEFI + GPT 吧?
如果是要系统放在移动硬盘,引导也装到移动硬盘的话,直接装系统分区那一步,把你的 ESP 分区挂载到 /boot/efi 就行,然后其他的没什么特殊的。 |
33
likuku 2017-10-13 20:38:17 +08:00
和装普通硬盘没差别,只要 /etc/fstab 里使用 UUID/Label 来标示分区就没问题了。
|
37
pynix 2017-10-13 21:29:28 +08:00
u 盘都装过。。
|
38
mbyzhang 2017-10-13 21:31:39 +08:00
上 boot-repair,基本上能修复任何 GRUB 安装不上的问题
|
39
Tyanboot 2017-10-14 00:40:41 +08:00 via Android 2
@zjqzxc 根据 efi spec, efi 分区必须是 fat32 格式,且 efi 主板只能从此分区读取 efi 文件运行。
且 ESP 可以有多个,可以在 boot option 或者 boot menu 里面选择从哪个分区加载,但大部分主板只认第一个 ESP 分区。 64 位主板默认加载该分区的\EFI\BOOT\bootx64.efi 文件,32 位默认加载\EFI\BOOT\bootia32.efi 。 部分主板仅能启动\EFI\Microsoft\Boot\bootmgfw.efi 此文件,且无论在 nvram 里如何添加条目,主板都不会显示。 因此要想在移动硬盘里启动,只需要给移动硬盘分一个 ESP 分区,并在安装的时候将引导选择装入此分区。或手动执行 grub-mkstandalone 生成一个 efi,并放置于\EFI\BOOT\bootx64.efi |
41
scriptB0y 2017-10-14 10:51:38 +08:00
我在 U 盘上装过……
|
42
huaxianyan 2017-10-16 19:25:13 +08:00
买了个固态 U 盘装了个 Ubuntu 16.04 LTS
安装方法就是忽视其他所有的硬盘,只留那块盘,把 EFI 之类的分区全部放在那个上面,这样即使到别的机器上也能引导启动 |
43
RYAN0UP OP @huaxianyan 固态 U..UUU 盘?
|
44
huaxianyan 2017-10-18 12:08:19 +08:00
@RYAN0UP 马云上的手工 U 盘,店家自己采购的颗粒和主控,转 USB3.0
|
45
RYAN0UP OP @huaxianyan 厉害了😃
|