V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
RYAN0UP
V2EX  ›  Linux

有人用移动硬盘装过 Linux 吗?

  •  
  •   RYAN0UP ·
    ruibaby · 2017-10-13 15:45:01 +08:00 via Android · 12691 次点击
    这是一个创建于 2634 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教下,用移动硬盘装 Linux,你们是怎么分区的,还有是怎么引导的? 现在我的分区是: EFI 1G / 50G /home 50G

    可是安装的时候报错:GRUB 安装失败!

    45 条回复    2017-10-19 11:31:25 +08:00
    RYAN0UP
        1
    RYAN0UP  
    OP
       2017-10-13 15:46:37 +08:00 via Android   ❤️ 1
    对了,Linux 的版本是 Linux Mint18.2
    zjqzxc
        2
    zjqzxc  
       2017-10-13 15:49:26 +08:00   ❤️ 1
    装过,正常安装,grub2 装在移动硬盘上,mbr,没遇到过问题
    gpt 没试过

    分区就俩,一个根分区,一个交换分区,剩下的格式化成 ntfs 方便 windows 下使用
    RYAN0UP
        3
    RYAN0UP  
    OP
       2017-10-13 15:52:07 +08:00 via Android
    @zjqzxc 我和你的分区差不多。不过我是用的 gpt。本想着 GRUB 安装失败了,手动添加引导也不行。
    yiyiwa
        4
    yiyiwa  
       2017-10-13 16:00:52 +08:00
    用 vmware 装过, 直接使用物理硬盘方式, 然后放其它电脑一样起来。
    RYAN0UP
        5
    RYAN0UP  
    OP
       2017-10-13 16:01:46 +08:00 via Android
    @yiyiwa 谢谢回答,不过我不是太喜欢虚拟机。
    ysc3839
        6
    ysc3839  
       2017-10-13 16:06:54 +08:00 via Android
    ESP 哪要 1G ? 100M 就够了。
    RYAN0UP
        7
    RYAN0UP  
    OP
       2017-10-13 16:14:24 +08:00 via Android
    @ysc3839 我百度的这个错误,然后有人说是 EFI 最低 500M,最好 1G。然后我就相信他了。😂😂😂
    neosfung
        9
    neosfung  
       2017-10-13 16:17:38 +08:00
    我有个 200g 的 ssd 移动硬盘,就是装了 Ubuntu 16.04 了
    kkxxxxxxx
        10
    kkxxxxxxx  
       2017-10-13 16:17:42 +08:00
    同问题,MBR 就没问题,GPT 就没法引导,用的自动分区
    RYAN0UP
        11
    RYAN0UP  
    OP
       2017-10-13 16:20:33 +08:00 via Android
    @hei1000 用 U 盘不会卡,我之前用移动硬盘装过,很流畅。
    RYAN0UP
        12
    RYAN0UP  
    OP
       2017-10-13 16:21:01 +08:00 via Android
    @neosfung 用 ssd 移动硬盘装 ubuntu,速度很不错吧。
    zjqzxc
        13
    zjqzxc  
       2017-10-13 16:22:39 +08:00
    刚才虚拟机下使用 efi+gpt+debian 9,没有选写引导位置这一步,直接过了
    bios+gpt+debian 9,把主引导记录转载 /dev/sda 上可以正常使用

    大概搜索了以下,有说法是,可以把 grub2 装在分区上,如 /dev/sda2(假设根分区在 sda2)上,可以试试这种方法
    RYAN0UP
        14
    RYAN0UP  
    OP
       2017-10-13 16:26:21 +08:00 via Android
    @zjqzxc 搞定啦,不过有点不懂,它把引导文件装在了我电脑硬盘的 EFI 分区上,然后我把里面的引导文件放到移动硬盘的 EFI 分区上就成功启动啦。😁😁😁
    yiyiwa
        15
    yiyiwa  
       2017-10-13 16:26:54 +08:00
    @RYAN0UP 我那样操作,是因为不想重启,然后本机刚好有 vmware,同事要安装 centos,然后就这样折腾了,确实可以。
    RYAN0UP
        16
    RYAN0UP  
    OP
       2017-10-13 16:27:33 +08:00 via Android
    谢谢大家,已经弄好了,引导文件装在了我电脑本身硬盘的 EFI 分区里,然后复制到移动硬盘的 EFI 就可以启动了。
    zjqzxc
        17
    zjqzxc  
       2017-10-13 16:27:58 +08:00
    @RYAN0UP 嗯。。进系统看了下,引导文件在 ESP 分区的 EFI 文件夹下。。。
    RYAN0UP
        18
    RYAN0UP  
    OP
       2017-10-13 16:28:59 +08:00 via Android
    @yiyiwa 这样对于所有系统都可以,也确实是一种解决方式。不过性能有影响。用移动硬盘可以很流畅的。
    ysc3839
        19
    ysc3839  
       2017-10-13 16:29:40 +08:00
    @RYAN0UP 我只知道 Windows 安装时创建的 ESP 是 100 MB,macOS 是 200 MB。
    yiyiwa
        20
    yiyiwa  
       2017-10-13 16:34:58 +08:00
    @RYAN0UP 我只是安装是这样安装, 装好后,同事直接 BIOS 选择移动硬盘引导就好了。 跟你想要的方式是一样的。
    zkwang
        21
    zkwang  
       2017-10-13 16:36:21 +08:00
    几年前需要在移动硬盘上装 ubuntu,有一个最简单的办法:

    打开机箱,拔掉安装盘,用光盘或者 U 盘启动电脑,就和装硬盘一样,一路装下去,装完启动完全正常。
    zkwang
        22
    zkwang  
       2017-10-13 16:37:32 +08:00
    几年前需要在移动硬盘上装 ubuntu,有一个最简单的办法:

    打开机箱,拔掉硬盘,用光盘或者 U 盘启动电脑,就和装硬盘一样,一路装下去,装完启动完全正常。

    那时候没有 EFI.
    zjqzxc
        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
    opengps
        24
    opengps  
       2017-10-13 17:06:58 +08:00
    linux 不清楚,但是如果 windows,则需要手动标记成活动分区
    zjqzxc
        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."
    RYAN0UP
        26
    RYAN0UP  
    OP
       2017-10-13 19:54:37 +08:00 via Android
    @zkwang 几年前我可能还在读初中😂😂😂
    RYAN0UP
        27
    RYAN0UP  
    OP
       2017-10-13 19:55:28 +08:00 via Android
    @opengps mbr 才需要吧,uefi+gpt 不需要
    RYAN0UP
        28
    RYAN0UP  
    OP
       2017-10-13 19:57:50 +08:00
    @zjqzxc Thanks
    boboliu
        29
    boboliu  
       2017-10-13 20:13:11 +08:00 via Android   ❤️ 2
    看完心有所感,然后去试了试,现在我移动硬盘里面的数据已经全部 GG 了
    infun
        30
    infun  
       2017-10-13 20:16:10 +08:00
    @boboliu 666
    JackieMe
        31
    JackieMe  
       2017-10-13 20:30:01 +08:00 via Android
    所以你应该是 UEFI + GPT 吧?
    如果是要系统放在移动硬盘,引导也装到移动硬盘的话,直接装系统分区那一步,把你的 ESP 分区挂载到 /boot/efi 就行,然后其他的没什么特殊的。
    messyidea
        32
    messyidea  
       2017-10-13 20:32:16 +08:00
    @boboliu 不会直接格了吧 2333
    likuku
        33
    likuku  
       2017-10-13 20:38:17 +08:00
    和装普通硬盘没差别,只要 /etc/fstab 里使用 UUID/Label 来标示分区就没问题了。
    RYAN0UP
        34
    RYAN0UP  
    OP
       2017-10-13 20:55:17 +08:00 via Android
    @boboliu 你没有备份的啊
    RYAN0UP
        35
    RYAN0UP  
    OP
       2017-10-13 20:55:41 +08:00 via Android
    @JackieMe 对的对的,已经弄好了。谢谢
    RYAN0UP
        36
    RYAN0UP  
    OP
       2017-10-13 20:56:03 +08:00 via Android
    @likuku 没看懂诶,不过已经弄好了,谢谢
    pynix
        37
    pynix  
       2017-10-13 21:29:28 +08:00
    u 盘都装过。。
    mbyzhang
        38
    mbyzhang  
       2017-10-13 21:31:39 +08:00
    上 boot-repair,基本上能修复任何 GRUB 安装不上的问题
    Tyanboot
        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
    RYAN0UP
        40
    RYAN0UP  
    OP
       2017-10-14 00:58:18 +08:00
    @Tyanboot 感谢回答
    scriptB0y
        41
    scriptB0y  
       2017-10-14 10:51:38 +08:00
    我在 U 盘上装过……
    huaxianyan
        42
    huaxianyan  
       2017-10-16 19:25:13 +08:00
    买了个固态 U 盘装了个 Ubuntu 16.04 LTS

    安装方法就是忽视其他所有的硬盘,只留那块盘,把 EFI 之类的分区全部放在那个上面,这样即使到别的机器上也能引导启动
    RYAN0UP
        43
    RYAN0UP  
    OP
       2017-10-16 23:44:26 +08:00 via Android
    @huaxianyan 固态 U..UUU 盘?
    huaxianyan
        44
    huaxianyan  
       2017-10-18 12:08:19 +08:00
    @RYAN0UP 马云上的手工 U 盘,店家自己采购的颗粒和主控,转 USB3.0
    RYAN0UP
        45
    RYAN0UP  
    OP
       2017-10-19 11:31:25 +08:00 via Android
    @huaxianyan 厉害了😃
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   999 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:49 · PVG 02:49 · LAX 10:49 · JFK 13:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.