如何将Ubuntu安装到USB键盘上?(不使用启动盘创建器)

如果你急着回复,系统 → 管理 → 启动盘创建器 —— 不对,我说的不是这个。
我想尝试一下 Ubuntu 11.04 的 Unity,但不触及现有的 Ubuntu 安装。
为此,我首先需要安装 nVidia 驱动程序(叹气)。
为了实现这一点,我需要在重启后保持改变。
为了做到这一点,我需要真正地将 Ubuntu 安装到一个 USB 键上。 你怎么做到的?

我尝试过的

  1. 我尝试从Testdrive制作一个USB键,然后从它启动,然后选择“安装Ubuntu”。安装程序拒绝将其安装到安装介质本身。

  2. 我尝试使用我已安装的Ubuntu副本:

    sudo kvm /dev/sdb --cdrom .cache/testdrive/iso/ubuntu_natty-desktop-i386.iso
    

    ...但是安装程序没有正确检测到磁盘。


你试过烧录一个LiveCD然后从那个LiveCD上安装Ubuntu到USB上吗?对我来说,这似乎是最简单的解决方案。 - Frxstrem
1@Frxstrem 我正在尝试通过KVM来实现这一点,而不必将夜间镜像刻录在光盘上。听起来有点浪费... - badp
1请问是否可以将USB分区为两个分区,然后使用测试驱动器,然后安装到另一个分区,这只是一个建议。 - Allan
我一直在研究这个问题,这里有更多的信息:http://ubuntuforums.org/showthread.php?t=1636650 和 https://wiki.ubuntu.com/Unity/InstallUSBKey - Jorge Castro
你可能有兴趣查看并添加你的笔记到http://superuser.com/q/681/263。 - nik
过去,使用一个实时持久的USB设置,我曾能够安装NVIDIA驱动程序。我进行了一个持久性安装,然后使用apt-get安装了NVIDIA驱动程序,运行了nvidia-settings并创建了一个正确的xorg.conf。然而,我确实需要设置rc.local以将正确的xorg.conf复制到/etc/X11/并在稍有延迟后启动gdm服务。如果我不这样做,X和GDM会尝试在没有正确的Xorg.conf的情况下启动。 - dr_willis
这根U盘必须支持UEFI引导吗?还是你可以接受它采用传统格式?另外,你是从哪个系统进行安装呢? - Videonauth
如果这个U盘同时支持UEFI和BIOS,那就更好了。我是从一台运行Windows 10的Lenovo Z710上进行安装的。谢谢你的帮助!@Videonauth - Steve B
根据主要需求“我想尝试Ubuntu 11.04的Unity,而不影响我现有的Ubuntu安装”,使用mkusb制作一个持久驱动器岂不更容易? - Harsh
我意识到当最初提出问题时,“真正安装Ubuntu”可能是唯一的选择。但现在有了mkusb,要满足需求并不需要调用“为此,我需要在USB键上真正安装Ubuntu”。如果我漏掉了什么,请纠正我。 - Harsh
多年来,我只是简单地使用两个USB(一个作为活动USB,另一个则像普通的硬盘上有GRUB一样)而没有任何问题。我主要将其用作真正的Ubuntu测试驱动器,用于朋友和家人的个人电脑和笔记本电脑,并希望能够完全转换他们到Linux系统。 - dgonzalez
我也非常想这样做。我很想拥有一个可以随身携带并在任何电脑上运行的Ubuntu USB驱动器。看起来最好还是有一定难度的。 - John
@John,也许以下链接以及其中的链接可以帮助你:https://askubuntu.com/questions/936925/ubuntu-installed-on-usb-stick-are-such-installations-limited-to-run-on-the-sam/936961#936961 -- 如果你愿意,我可以给你更多详细的链接。在这种情况下,请描述你需要哪些关键步骤。 - sudodus
你确定把引导程序放在了USB上吗? - dat tutbrus
@dattutbrus 是的,我运行了多次引导修复。如果我在我的USB硬盘驱动器处于活动状态时运行引导修复,则无法启动本地安装,反之亦然。因此,似乎一些必要的引导文件正在USB硬盘驱动器上,而另一些则在内部硬盘驱动器上。我希望它们全部都在外部硬盘驱动器上,这样我就可以在任何计算机上使用我的外部驱动器(比如客户现场的计算机)。 - John
1@John,如果你断开内部硬盘,安装到外部硬盘会是最简单的方法。这在BIOS模式和UEFI模式下都适用,但在UEFI模式下影响更大。如果你的计算机可以实现这一点(至少有一台计算机可以在将Ubuntu安装到外部硬盘时使用),我建议你这样做。然后,从Ubuntu启动盘启动并运行安装程序。这样做将相对直接简单(就像安装到内部硬盘一样),因为外部硬盘(甚至是USB闪存驱动器)将被视为内部硬盘。 - sudodus
@sudodus 谢谢。我点击了链接并仔细研究了我的华硕笔记本电脑,我发现他们让拆卸内部硬盘变得非常困难(即使我拧下了每颗螺丝并尽力拉动一切可拉动的东西,我也无法找到如何打开我的笔记本电脑)。我会看看是否能找到一个更容易拆卸一些电缆的台式机。 - John
@John 首先,要将它插入每台计算机中,您需要在传统模式下安装。其次,有时可能需要多次重启才能正确获取规格。第三,尝试重新安装。 - dat tutbrus
1@sudodus 我断开了台式电脑上的所有其他驱动器,然后安装了16.4.2版本,但它拒绝启动。错误信息:文件“/boot/grub/i386-pc/normal.mod”未找到。进入救援模式... 如果没有将所有引导文件写入USB硬盘驱动器中,我无法想象它们还可能被写入到哪里。 - John
@John,我不是100%确定,但我认为这个错误表明可能存在问题,因为您尝试在BIOS模式下启动,但在安装过程中缺少了grub-pc软件包。这可能是因为在以UEFI模式安装的Ubuntu系统中安装了grub-efi软件包,而这两个软件包不允许同时安装。在现场或持久现场系统中,这是不同的,两个软件包可以共存。也可以删除grub-efi,安装grub-pc使用它,卸载它并再次安装grub-efi - sudodus
你想要在外部USB驱动器上进行正常安装。在Ubuntu 18.04中仍然存在一个错误,使得这个过程变得困难,因为理想情况下,你希望在外部驱动器上有一个引导分区,但是安装程序忽略了你的请求(这就是那个错误)。断开内部硬盘是一种解决方法,但请看下面我的回答,那是一个更加优雅的解决方案。 - Tim Richardson
23个回答

Ubuntu/Linux解决方案

1. 获取最新镜像

你应该使用testdrive 安装testdrive来完成这个步骤。

TestDrive

注意。如果您的密钥小于4.4 GB(适用于Ubuntu 11.04(Natty Narwhal)),您必须获取备用安装程序。如果剩余磁盘空间少于4.4 GB,桌面安装程序将拒绝继续安装。

2. 格式化USB磁盘。

如果您的磁盘上已经有类似Linux安装的内容,或者由于某种原因安装程序不希望触碰该磁盘,这一步非常重要。我之前失败就是因为没有执行这个步骤,所以自行决定是否跳过!您需要一个至少3 GB大小的密钥。

您可以从系统管理磁盘工具进行操作。选择目标USB密钥,卸载所有分区,并选择格式化驱动器

Disk Utility

你需要确保在格式化磁盘之前选择"不分区"。

Format drive window.

3. 在USB键上启动虚拟机

我确保(使用file命令)我的USB键位于/dev/sdb,然后运行:

sudo qemu-system-x86_64 /dev/sdb -cdrom ~/.cache/testdrive/iso/ubuntu_natty-desktop-i386.iso

...安装Natty Narwhal桌面版的i386 ISO文件——如果您下载了不同的ISO镜像,文件名将会有所不同。

您选择的虚拟化解决方案的详细信息可能会有所不同,但您希望将您的USB键的设备文件用作虚拟机的硬盘。

在kvm命令后添加-boot order=d,以便在尝试从“硬盘”启动并因找不到操作系统而失败时,它可以从镜像中引导。

4. 正常安装。

此时,您正在使用一个将您的USB键视为唯一连接的硬盘的虚拟机。从“QEMU”窗口内,按照正常方式进行安装。

一些建议:

  • 分区。避免使用自动分区系统,因为它会在您的USB键上创建一个交换分区。这样不好,因为交换变得超级慢(几秒钟的系统冻结慢),并且会迅速损坏您的驱动器寿命。只需为/分配一个单独的分区。如果您使用备用安装程序,请确保设置noatime标志以进一步减少对磁盘的写入量。

  • 更新。跳过自动下载和安装更新的选项。不能保证在运行安装程序时存储库处于一致的状态。个人而言,我更愿意使用aptitude等工具手动管理升级(默认情况下Ubuntu不再附带该工具)。

  • Alpha质量软件。事情有点奇怪 - 毕竟这是alpha质量的软件。我曾经遇到dpkg退出时出现错误代码1,但无法查看错误 - 没有任何软件包受损。我试图在设置完成后正常关闭虚拟机,但它卡住了。然而,在重新启动后,系统正常启动。

5. 重新启动并进入您的Ubuntu副本
您可能需要调整BIOS设置以使其正常工作。
关于在USB上使用Ubuntu的一个好(或让人烦恼,根据您的用例而定)的事情是,下次刷新GRUB时,它还会检测并添加到列表中的内核和操作系统在硬盘上。这样,您就可以直接从USB键的GRUB引导进入硬盘。

10哇,非常感谢你提供了如此详细的操作指南。 - Nathan Osman
2太棒了,谢谢你的解释。另外,我发现在kvm中添加一些RAM,比如-m 2GB,可以加快启动过程的速度。 - hasen
使用这个解决方案时,我会一直在虚拟机上工作吗?还是只有在安装时才需要呢? - Pit
只有在安装时。 - badp
你在VirtualBox中如何使用它? - Lincity
你不必使用每夜构建版本。在TestDrive中,转到编辑 > 首选项 > 通用选项卡 > Ubuntu版本部分 > 将存储库更改为“发布版”,然后选择官方发布版(natty、maverick等)。 - Mark Russell
请您更新这个答案,包括如何安装KVM。我按照步骤进行,但在启动KVM的时候卡住了。 - nik90
@Nik kvm 应该预装有 Ubuntu... 但是,它需要一个具备内置虚拟化支持的 CPU。 - badp
Intel Atom处理器是否具有“内置”的虚拟化支持?我的系统监视器显示的是这个型号:Intel® CPU U2700 @ 1.30GHz。我本来想使用我更强大的台式机,但是几个月前电源坏了。:-( - Daniel Clem
最终的操作系统会使用你运行的计算机的硬盘作为交换空间吗?如果不会(这似乎很可能),那么在没有任何交换空间的情况下运行会有什么问题吗? - Bryan Head
1当内存用完时,oom-killer(如果启用)会选择“最糟糕的罪犯”并杀死它。另一种选择是内核恐慌(据我所知,在Windows下这是唯一的最后手段措施)。 - badp
4这是一个非常详细的答案,但不幸的是它在Ubuntu 14.04上无效。由于某种原因,qemu 失败,并且安装过程中止。 - Luís de Sousa
@LuísdeSousa 发生了什么事?我已经升级到14.10,但很难自己检查。 - badp
qemu窗口会输出一大堆文本,其中大部分只是一些没有明显意义的数字。我无法复制它,所以无法发布。现在我正在尝试使用VBox... - Luís de Sousa
我也是,而且我也有可靠的。它一直出现内核恐慌错误 https://i.imgur.com/wdLoiL8.png https://i.imgur.com/4wyVYsK.png - Lucio
@Lucio 怎么回事,没有初始化? - badp
你们是在尝试64位还是32位的14.04.1版本?我尝试了64位但没有成功(内核恐慌)。我将检查32位版本是否可行。 - Alexandre Schmidt
我也试过32位的,但都不行。不过VirtualBox可以启动这个镜像。 - Alexandre Schmidt
ext2ext4更快,因为没有日志记录。 - Vitaly Zdanevich
我刚刚用64位版本测试了这个答案,这次qemu窗口甚至都没有弹出来。你应该编辑你的答案,详细说明它适用于哪个Ubuntu版本。 - Luís de Sousa
2我也在尝试将Ubuntu 14.04安装到我的USB闪存驱动器时遇到了内核恐慌的问题。问题是内存不足。为了解决这个问题,我运行了以下命令:sudo qemu-system-x86_64 -m 1024 /dev/sdc -cdrom ~/isos/ubuntu-15.10-desktop-amd64.iso - David Baucum
1如果我将它安装到闪存驱动器或USB硬盘上,答案中说它也会安装GRUB。如果我断开安装Ubuntu的闪存驱动器,是否会导致启动Windows时出现问题? - strider
你能简要地解释一下我们在做什么吗?因为提到了虚拟机,我有点困惑我们是在虚拟机上安装还是将其完整安装在一个USB闪存驱动器上。另外告诉我我们需要多少个USB闪存驱动器。 - Pranal Narayan

使用Virtual Box将Ubuntu安装到可移动的USB驱动器上

为了将Ubuntu安装到便携式外部USB驱动器(无论是磁盘还是U盘),我们也可以使用Virtual Box从虚拟环境中进行安装。对于USB 2.0支持,需要使用闭源但免费的PUEL版本的Virtual Box

为安装的实时环境创建一个虚拟机:

我们为Linux/Ubuntu环境(32位或64位,取决于安装介质)创建一个虚拟机:

enter image description here

由于我们想要安装到USB驱动器上,因此在以下窗口中取消选中该框,我们不会创建虚拟硬盘(VDI)来为这台机器准备。

enter image description here

我们需要为虚拟机分配系统内存(例如1024 MB)、显存(例如128MB),并根据主机硬件调整CPU设置。此外,我们可能还想创建一个桥接网络,以便在安装过程中能够下载文件。
将安装光盘挂载到虚拟机上:
在Virtual Box Manager的“存储”菜单中,选择我们的安装光盘的.iso镜像文件作为CD驱动器进行挂载。确保虚拟机的启动顺序设置为从CD启动。

enter image description here

将USB驱动器安装到安装环境中

在启动虚拟机之后(首先需要设置USB支持),通过点击底部面板上的小图标或从Virtual Box Manager的设备 -> USB设备菜单中选择,我们需要挂载USB驱动器来引导安装CD。

enter image description here 在继续之前,USB驱动器需要已经被挂载

对USB驱动器进行分区和格式化

在选择其他选项后,图形化分区管理器GParted将引导我们完成分区过程:

enter image description here

我们至少需要一个带有根挂载点(/)的分区。在上面的示例中,创建了一个额外的/home分区。通过取消勾选格式化选项,我们可以保留可能已经存在的数据。对于USB存储设备或便携式驱动器,可能不需要/swap分区。
  • 在这一步要特别注意,引导加载程序Grub确实会安装到USB驱动器(/sda),而不是其他任何地方
通过选择立即安装,我们开始将操作系统安装到USB驱动器上。请注意,此安装可能比我们平常使用的时间稍长。
安装完成后,我们可以卸载我们的驱动器,并从任何其他计算机启动以根据我们的需求进行自定义。
  • 不要忘记在此计算机的BIOS中启用从USB启动

1這適用於Mac嗎? - Braiam
我按照这个指南“成功”创建了一个可启动的USB,但在启动时出现以下错误信息:“error: file '/boot/grub/i386-pc/normal.mod' not found”。然后我进入了grub恢复提示符。你有什么想法,可能是哪里出错了吗? - Luís de Sousa
@LuísdeSousa:某种方式下Grub无法找到它的文件。可能在安装时意外以EFI模式安装,或者您的USB驱动器在启动时获得了另一个驱动器关联。请参考此答案获取一些见解。 - Takkat
1第二次尝试顺利进行,我猜安装程序本身容易出错。无论如何,这可能是创建可启动和持久的Ubuntu USB最简单的过程。而且也可能是最安全的,因为在安装时没有硬盘可用,只有挂载的USB驱动器。 - Luís de Sousa
虽然你已经很好了,但我认为我应该为其他人补充一下,你还需要小心地将grub安装在USB的根目录上。在这个例子中,它是sda\,它会想要安装在硬盘mblk0上。这已经解释过了,你将把它移动到USB驱动器上...但不要选择可能诱人的sda1\。正如说明所说,“sda\而不是其他任何地方”。 - Bhikkhu Subhuti
别忘了下载USB扩展。甲骨文还怎么存在? - Michael Cole
1这个方法是有效的。然而,它将USB设备变成了传统的MBR引导磁盘,而不是UEFI。如果无法从中引导,请检查您的BIOS以允许“传统”引导。在两台Thinkpad上(一台是2018年的,另一台是2016年的),默认情况下关闭了此选项。打开它意味着我可以在BIOS引导提示后选择USB设备进行引导。我按照这种方法在一个USB设备上安装了Ubuntu 18.04。我假设我们应该注意到,模拟环境和您的真实PC应尽可能匹配。在PC虚拟机上进行64位安装似乎没有任何问题。 - Tim Richardson
它会在USB闪存上安装grub吗? - Pranal Narayan
@PranalNarayan:是的,但只有在您告诉安装程序这样做时才会生效(“用于引导加载程序安装的设备”)。 - Takkat

看一下我网站上关于在USB驱动器上安装Ubuntu的指南和视频。它将帮助你完成你想要的事情,而且非常简单。

如何将Ubuntu安装到USB驱动器

将Ubuntu安装到外部硬盘或USB存储设备是一种非常安全的安装方法。如果你担心对计算机进行更改,这就是适合你的方法。你的计算机将保持不变,没有插入USB时,它将正常加载你的操作系统。当你连接并从USB驱动器启动时,你将可以选择加载Ubuntu或你平常使用的操作系统。

我们需要安装Ubuntu到USB驱动器的是一台计算机,一个Ubuntu live CD/USB和一个USB驱动器。8GB是功能齐全且可用的系统的最低推荐大小(尽管4GB是最低要求)。我们建议使用外部硬盘,至少20GB。

建议对USB驱动器进行分区,但不是必需的,假设你有2GB或更多的RAM。可以使用Ubuntu live CD/DVD中的“磁盘工具”或安装分区菜单来进行分区。

我们建议使用一张 Live CD/DVD,并拔掉其他 USB 驱动器,这样会更方便。本指南假定您正在使用未分区的 USB 驱动器和 CD/DVD。 如何将 Ubuntu 安装到 USB 驱动器 插入 Ubuntu Live CD/DVD,打开电脑并告诉它从 CD/DVD 启动,使用您的“BIOS”。加载需要几分钟时间,然后会显示两个选择:“尝试 Ubuntu”或“安装 Ubuntu”,您应该选择“安装 Ubuntu”。 之后,会显示多个选项。您需要选择底部的选项“其它选项”。
这将带您进入分区菜单。您的主硬盘将列为“Sda”,后面是其上的任何分区,比如 Sda1 或 Sda2。以下是您的 USB 驱动器,它将列为“Sdb”。点击“Sdb1”,这是驱动器上唯一的分区,然后选择“更改”。

你需要选择“将此分区用作Ext4文件系统”(一些发行版如Mint要求您在此时手动选择“格式化”)。然后,您需要将“挂载点”设置为“/”,即根文件系统,并点击确定。您将返回到上一个菜单,该分区旁边会有一个勾号。现在点击上面的“Sdb”,将其选为安装设备。

现在,在下方有一个选项,用于指定引导加载程序的安装位置。非常重要的是,您需要更改此选项。引导加载程序必须安装到列出的设备“/dev/Sdb”。如果您不这样做,引导加载程序将安装到您的内部驱动器。现在,您已经准备好安装到外部设备了,只需点击“安装”即可。

您需要回答一些简单的问题,比如“名称”和“创建密码”,然后您可以坐下来放松一下。

附加信息

每次想使用USB设备时,您需要告诉BIOS从USB设备启动。您可以在BIOS中轻松设置USB为第一启动设备,如果未连接该设备,则会加载正常系统。如果您选择从USB驱动器而不是CD/DVD安装,或者连接了多个硬盘和USB驱动器,您需要确保将其安装到正确的设备上,因为它可能不是sdb。
确保安装到正确设备的最简单方法是使用磁盘工具。在连接设备之前打开磁盘工具,并注意左侧的设备。然后连接您的设备,它应该出现在列表底部。点击该设备,并查看窗口右上角的“设备”信息。它会显示类似于“设备:dev/sdc”的内容,所以'sdc'就是您需要安装的设备。

2@Fernhill Linux 项目,非常感谢你的回答。我觉得用户们可能还没有真正理解问题和你的答案(对我来说是金质的,因为我在网上花了好几个小时,每个人都在谈论持久化Linux等等)。我不能透露细节,但我必须在一个环境中创建/工作 - 可以通过USB(或基本的便携外部设备)启动并具有“完全功能”的操作系统,包括用户登录(不需要每次都选择试用或安装选项)。再次感谢你帮助我(和其他人)找到解决方案(特别是在选择USB作为引导加载程序的地方)! - Higher-Kinded Type
不要感到惊讶,如果您的USB安装需要3到4分钟才能完全启动。我的live USB驱动器启动大约需要30秒,那么在相似的闪存速度下,我应该预计全面安装所需时间比这长得多吗?换句话说,这个警告是基于USB速度,还是由于完整安装与live安装中额外的引导项目? - Michael
1这个回答非常清晰明了,几乎傻瓜都能理解。谢谢。我成功按照指示操作,现在我在一个USB 3闪存驱动器上拥有一个可启动、便携的真实Ubuntu安装! - Fiksdal
问题:如果您安装了不同版本的Ubuntu,系统会尝试重新格式化并使用“Swap”分区。这样可以吗?还是我应该强制系统不使用该分区? - Alan Campbell
@AlanCampbell 这取决于你可用的物理内存。大约8或16 GB的话,可能不太行……你应该考虑一下你想在哪台电脑上安装使用。老旧的4GB或更低内存的电脑速度会较慢。 - DerpyNerd
链接已失效,但可以通过web.archive找到:https://web.archive.org/web/20180704012056/http://www.fernhilllinuxproject.com:80/guidesandhowtos/installubuntutousbdrive.html - maklemenz

在USB驱动器上安装系统的说明

编辑 1:

如果您无法断开/移除内部驱动器,可以使用以下解决方法:

  • 在UEFI/BIOS菜单中禁用内部驱动器。这在一些计算机上有效,但并非所有计算机都适用。

  • 标记法

    1. 在纸上记录内部驱动器EFI分区的标记

    2. 从内部驱动器的EFI分区中移除标记(例如,在从活动驱动器引导时使用gparted

    3. 进行安装

    4. 使用gparted从活动驱动器引导,将标记恢复到内部驱动器的EFI分区中。

    @Tim Richardson在此答案中详细描述了这种标记法。

编辑2:2023年的新选择

  1. 在Ubuntu 23.04桌面版iso文件中有一个新的安装程序,这个安装程序可以在UEFI模式下将Ubuntu完全安装到除了“第一个内部”驱动器之外的其他驱动器上。这消除了Ubiquity安装程序的一个旧问题。

  2. 另一个安装程序Calamares在Lubuntu和Ubuntu Studio的iso文件中使用,这个安装程序也可以做到(在UEFI模式下将操作系统完全安装到除了“第一个内部”驱动器之外的其他驱动器上)。

  3. 如果您想要一个可在UEFI模式和BIOS模式之间进行移植的已安装系统,您可以从Ubuntu Server的压缩映像文件开始,提取并克隆到例如通过USB连接的SSD上。

请注意,大多数Ubuntu家族的衍生版本仍然使用Ubiquity,还有一个名为ubuntu-23.04-desktop-legacy-amd64.iso的版本,用于在新的安装程序可能失败的情况下使用Ubiquity。


在USB驱动器中安装系统的逐步说明

介绍

这个逐步说明的主要部分是从iso测试跟踪器和以下链接借用的:

我还添加了一些必要的额外步骤,以便在外部驱动器上进行安装。


请注意,您将安装一个在当前引导模式下工作的系统。
如果您以UEFI模式安装,那么安装后的系统将以UEFI模式运行。
如果您以BIOS别名CSM别名传统模式安装,那么安装后的系统将以BIOS模式运行。
创建一个既能在UEFI模式下又能在BIOS模式下工作的已安装系统更加复杂,但根据以下链接及其相关链接是可能的: 一个可以在UEFI和BIOS模式下引导的便携式已安装系统
如果您打算安装到USB闪存驱动器或存储卡中,请选择一个快速的USB 3.0闪存驱动器或高速存储卡。请参考以下链接及其相关链接: help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed
  • 如果您打算在 新的和中年计算机 上使用外部驱动器,我建议您从一个 Ubuntu 64 位 'amd64' iso 文件进行安装。

  • 如果您打算在旧计算机(以及较新的计算机)上使用外部驱动器,我建议您从一个带有轻量级桌面环境的 Ubuntu 家族口味的 32 位 'i386' iso 文件进行安装,

  • Lubuntu 具有超轻量级 LXDE

  • Ubuntu MATE 具有中等轻度 MATE

  • Xubuntu 具有中等轻度 XFCE


  • 这些32位系统将与32位和64位计算机配合使用,但仅在BIOS模式下按照说明[在此回答中]安装时可行。

  • 可以创建一个持久的实时系统,适用于

  • 32位和64位计算机

  • 在BIOS模式和UEFI模式下

如果这是您想要的内容,以下链接可能对您有所帮助:

mkusb/persistent#Compressed_image_file_with_a_persistent_live_system

Ubiquity安装程序的说明

当计算机关闭并断开电源时,断开(和/或拔掉)内部驱动器。在某些计算机上,可以通过UEFI-BIOS系统的菜单禁用内部驱动器。
这样安装程序会将您想要安装Ubuntu的外部驱动器视为内部驱动器(安装程序无法干扰内部驱动器)。
插入Ubuntu引导/实时/安装驱动器(DVD光盘、USB驱动器、存储卡)并从中启动计算机。
如果愿意,可以使用您的母语继续操作。
启动映像
系统正确启动并加载安装程序,显示欢迎对话框,其中包括语言选择和“尝试Ubuntu”以及“安装Ubuntu”按钮。
连接外部驱动器(硬盘驱动器、固态硬盘、U盘、存储卡),即您要安装Ubuntu的目标驱动器。如果可能,请为此驱动器连接外部电源。仅依靠计算机的USB插口供电可能不足。
点击“安装Ubuntu”图标
显示“准备安装Ubuntu”屏幕
在“准备安装Ubuntu”屏幕上,注意以下组件的可用性
可用选项应准确表示您的系统状态
(如果有网络)在安装Ubuntu时下载更新
(如果是“笔记本电脑”)已连接到电源
安装第三方软件...选项可用。如果您希望系统在多台计算机之间可移植,请避免使用第三方软件,特别是图形和无线网络的专有驱动程序。
点击继续按钮
显示“安装类型”屏幕
选择“擦除磁盘并安装Ubuntu”
安装屏幕扩展以包括加密和LVM选项
等待一会儿!您确定这就是您想要的吗?也许您想保留驱动器上的某些内容?在这种情况下,您应该停止安装并将重要数据复制到另一个驱动器。也许您想选择其他替代方案。
点击继续按钮(如果系统中只有一个硬盘,则按钮应显示“立即安装”)
出现“写入更改”对话框
点击继续
如果系统中只有一个硬盘,则安装程序跳转到“您在哪里?”屏幕。否则,显示“安装类型”屏幕
如果系统中只有一个硬盘,则跳过几个步骤,直接进入“您在哪里?”屏幕。否则,在“安装类型”屏幕上验证在“选择驱动器”列表中选择的驱动器是否与图表上的驱动器相对应(例如/dev/sda)。如果您已移除内部驱动器,则应该只有一个可用作目标的驱动器,即您的外部驱动器。
在图表上显示所选驱动器
验证是否分配了整个驱动器空间
为安装分配了完整的驱动器空间
点击“立即安装”按钮
显示“您在哪里?”屏幕
如果您的系统连接到网络,请注意预先选择的时区是否与您的时区以及文本框中指示的城市相符
显示的时区和城市与您的时区和所在地区的主要城市匹配
选择您的时区,并点击继续按钮
显示“键盘布局”屏幕
建议的键盘与您的键盘相符
选择您的键盘布局,并点击继续
显示“

非常感谢您清晰地一步一步说明。这正是我在台式电脑上所做的。然而,当我尝试启动时,仍然出现以下错误:_Error: file '/boot/grub/i386-pc/normal.mod' not found. Entering rescue mode... _ 如果并非所有的引导文件都被写入到USB硬盘驱动器中,我无法想象它们可能被写入到哪里,因为唯一连接的其他存储设备就是用于安装Ubuntu的USB键。 - John
@John,请看一下我在原始问题中的评论(写于此评论之前几分钟)。 - sudodus
非常感谢您提供的详细信息,包括您在问题下方的评论。现在已经解决了。我清除了硬盘,重新安装了系统,并且还需要在一台电脑的BIOS中打开“旧式引导”选项。 - John
@John,我很高兴能帮助你使它正常工作。谢谢你分享解决方案 :-) - sudodus
@sudodus 天哪!我也给你+1!**;-)** - Fabby
你可以更容易地做到这一点,而无需断开内部硬盘,请参考我下面的回答。 - Tim Richardson

如果你说的是真正的安装,即完整的Ubuntu安装而不仅仅是Live USB类型,那么你可以使用通过USB连接的外部硬盘,并按照以下方法进行安装。

请注意:以下步骤已在Ubuntu版本9.10上进行过测试,但尚未与较新版本进行过测试。自行承担风险和谨慎使用。

所需材料

  1. 一台有Internet访问权限的电脑。
  2. 带有Ubuntu的LiveCD或LiveUSB。
  3. 具备USB功能的外部硬盘。

操作步骤

  1. 打开电脑并取出硬盘。
  2. 通过USB线将外置USB硬盘连接上。
  3. 插入LiveUSB或LiveCD,然后启动电脑。
  4. 打开启动菜单,选择从LiveCD/LiveUSB启动。
  5. 在安装过程中,您应该能看到您的外置硬盘,将Ubuntu安装到其中。
  6. 完成安装过程后,关闭电脑,并将其他硬盘放回电脑中。
  7. 重新启动电脑,进入启动菜单,选择您的外置硬盘,并尝试从中启动。如果成功,恭喜您,现在您拥有一个带有完整操作系统的外置硬盘。
  8. 享受运行Ubuntu/Linux的外置硬盘吧!请告诉我这是否对您有帮助!如果不是,请也告诉我。

但是,如果您只想要一个Live USB,您可以使用Universal USB Installer或Ubuntu USB Startup Disk Creator来制作。


1安装程序目前存在一个错误,这意味着对于UEFI计算机,这将无法工作(18.04、18.10);请参阅下面的回答。 - Tim Richardson

1) 通用USB安装程序
通用USB安装程序是一个实时Linux USB创建工具,允许您从一系列Linux发行版中选择并将其放入USB闪存驱动器中。通用USB安装程序易于使用。只需选择一个实时Linux发行版、ISO文件、闪存驱动器,然后点击安装即可。其他功能包括:持久性(如果可用),以及能够对闪存驱动器进行fat32格式化(建议)以确保干净的安装。完成后,您应该拥有一个已安装所选Linux版本的可运行启动USB闪存驱动器。
2) UNetbootin
UNetbootin允许您创建可引导的实时USB驱动器,用于Ubuntu、Fedora和其他Linux发行版,而无需刻录CD。它适用于Windows、Linux和Mac OS X。您可以让UNetbootin为您下载支持的众多发行版之一,或者如果您已经下载了一个Linux ISO文件或者您偏好的发行版不在列表中,可以提供自己的Linux ISO文件。
3) LinuxLive USB Creator
LiLi创建了一个可移动、可引导和虚拟化的运行Linux的USB驱动器。厌倦了必须重新启动电脑才能尝试Linux吗?使用LiLi就不需要了。它内置了虚拟化功能,让你可以在Windows中直接运行Linux,无需任何额外设置。
以上三个程序都允许你将任何Linux操作系统安装到闪存驱动器上,但只有Ubuntu及其众多其他版本提供了持久性功能(允许你保存对LiveOS安装所做的任何更改,并在重启后继续使用)。

2很棒的帖子!我觉得他更多是在问如何进行完整安装。如果不是的话,你的帖子正好回答了他的问题 :P - zkriesse
这些方法是CLI吗?这些程序的安装命令是什么? - Ciro Santilli OurBigBook.com
Universal USB Installer和LinuxLive USB Creator都无法在Ubuntu上运行。 - Luís de Sousa
这个答案不是OP想要的:在外部驱动器上进行真正的安装。根据你的三个建议,其中两个只是生成一个实时映像(即不能升级),而第一种方法允许创建一个持久化的实时映像,可以进行更新,但是它们不稳定、速度慢,并且无法进行内核升级。请参阅下面的我的回答。 - Tim Richardson

旧答案,不要再使用了!

我是用以下方法完成的:

  • 插入光盘并插入USB键。

  • 选择安装Ubuntu

  • 在选择驱动器分区时选择高级

  • 将您的USB键分区选择为目标。

  • 注意:选择您的USB分区作为GRUB引导加载程序。

安装过程完成后,请从您的USB键启动,而不是硬盘。


Ubuntu 10.10在安装完成之前就卡住了。我认为Ubuntu在USB安装方面存在一些非常严重的错误。 - iugamarian
我用10.04和10.10版本制作了它。你的光盘启动正常吗? - teo96
4我过去使用usb-disk-creator工具制作过活动USB闪存驱动器。然后从该闪存驱动器#1引导并进行了“完全正常安装”,将其安装到第二个闪存驱动器上,就像安装到真实硬盘一样。除了需要注意grub的安装位置之外,我从来没有遇到其他问题。 - dr_willis
2我同意Bubblegum所说的。在过去几个版本中,我已经将普通安装应用到闪存驱动器上,就像它们是硬盘一样,没有遇到真正的问题,只要非常确保grub安装在闪存驱动器而不是硬盘上。 - dr_willis
不起作用。我尝试了很多种方式在Ubuntu Mate上使用它。安装程序失败了。 - Regis May
1由于一个错误,安装程序完全忽略了第五个要点,因此它在最近的Ubuntu上无法工作。尽管您的意图是好的,但如果您使用UEFI,则现有的引导加载程序将被覆盖。请参阅我的答案以获取简单的解决方法。 - Tim Richardson

OP要求“不要触碰我的现有Ubuntu安装。”我的回答描述了如何实现这一点,使用真实的安装方式,而不是持久性的Live USB安装。持久性安装非常脆弱,并且更新内核很困难。真实的安装更好。
如果你想从外部设备启动,而不仅仅是在其上安装Ubuntu,你需要解决一个安装程序的错误,该错误会重写你内部硬盘的引导分区,并且无论你告诉安装程序什么,它都不会在外部设备上安装EFI引导分区。如果你不这样做,你最终仍然会在目标USB存储设备上安装Ubuntu,但它只能在这台计算机上工作,因为它没有自己的引导分区。 EFI分区是BIOS在启动时寻找的驱动器的一部分。如果一个驱动器没有EFI分区,它就不能成为引导驱动器。如果一个USB存储设备或外部驱动器没有EFI分区,你仍然可以将Ubuntu安装到其中,但它需要一个“可引导”的驱动器来实际启动。所以,如果你想要一个可以从一台计算机启动并独立运行的USB存储设备或外部驱动器,那个驱动器必须有自己的EFI分区。
以下是我在Ubuntu上最近使用的方法(截至21.10)。
在各种笔记本电脑上进行了测试。我已经关闭了传统引导。UEFI已经100%使用(这将是过去五年内销售的任何设备的默认设置)。
我在BIOS中关闭了安全启动。
在第二个驱动器上安装是很麻烦的,因为Ubuntu安装程序会使用它看到的第一个EFI分区,而不管你是否尝试指定其他位置作为EFI分区。所以当你尝试将引导设备设置为目标USB驱动器时,系统会忽略你的设置。这是一个相当古老的错误,但在21.10版本发布时仍然存在。
这个错误意味着即使你要求创建一个EFI分区,你的USB闪存驱动器上也不会有EFI分区,所以无法从中引导。

https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379

摘要:为了解决这个问题,在开始安装之前,使用gparted编辑内部EFI分区的标志来禁用它。然后安装程序就找不到它,也不会触发该错误。稍后再重新启用这些标志。这是一个微不足道的步骤。从逻辑上说,这几乎相当于物理上断开内部驱动器的连接,这肯定也可以解决安装程序的错误。
我采取的步骤:
在开始安装之前: 您需要一个标准的Ubuntu Live USB设备和一个目标USB闪存盘进行安装。
以“先试用”模式启动Ubuntu Live USB。
使用gparted(有时Ubuntu Live Disk可能没有包含它,您可能需要先安装它)...
重新分区您的目标外部驱动器,使用GPT分区表。GPT分区表是用于UEFI(现代)可引导驱动器的必需品。
创建一个500MB的FAT32分区。您还可以设置所需的Ubuntu安装分区。在安装时,您将拥有三个驱动器:内部驱动器、实时映像安装程序驱动器和目标驱动器,因此为所需的/分区添加标签可能会很方便。
应用这些更新后,更改刚刚创建的小型500MB分区的标志。右键单击小分区,然后选择“管理标志”。这些更改会立即生效(但请注意,您必须先通过完成上一步来实际创建分区) 勾选启动、esp和隐藏以打开它们。
安装
您已经使用了一个实时磁盘USB映像进行引导,就像正常的Ubuntu安装一样。因此,您有两个USB设备:目标设备和实时磁盘USB驱动器。
编辑您内部驱动器上的EFI分区标志,并取消勾选与目标设备EFI分区上相同的三个标志。这将阻止Ubuntu安装程序将其用作引导分区。

这是一个短视频,展示了在gparted中进行旗帜编辑的过程:https://youtu.be/sdgrmylH6pc

现在,在安装时,安装程序将只看到您目标设备上的一个EFI分区。这是我在其他地方没有看到记录的新步骤。

开始ubuntu安装。继续操作,直到看到安装程序的磁盘设置选项卡。当然,您需要完全手动的方式,即在分区阶段选择“其他选项”。

在执行安装时指定引导加载程序的安装方式。如果您的目标驱动器挂载为sdc,因此EFI分区为sdc1(第一个分区),则将引导加载程序安装到设备sdc上,而EFI分区将是sdc1。

滚动查找该分区。在“类型”列中应该写有“efi”。单击“更改”以确认:安装程序应说“使用作:EFI系统分区”。实际上,您不需要更改任何内容,也不需要进行格式化。

当你滚动浏览分区时,请查看“类型”列。你的内部驱动器上不应该有EFI分区,因为你已经关闭了内部驱动器EFI分区上的分区标志。当然,该分区仍然显示为FAT32分区,这没问题。
你还会看到你启动安装程序的活动磁盘上的EFI分区,这也没问题。安装程序足够智能,会忽略它。
选择你想要用于/(sdc2,或者你之前创建的任何分区),然后进行正常的Ubuntu安装。
安装完成后
恢复你内部EFI分区上的分区标志
安装完成后,重新启动到USB设备上的新安装系统。你需要使用BIOS中的“选择启动设备”选项,因为计算机需要使用你刚刚创建的引导分区,这是它从未见过的。在我的Thinkpad上,F12是进入BIOS菜单的快捷键。
你应该在启动菜单中看到几个引导驱动器的选择,其中之一是外部驱动器。有些BIOS菜单将默认标签显示为“ubuntu”,所以看到它出现多次可能会有点困惑。有时更改引导设备会导致BIOS重新启动(我的Thinkpad上是这样),看起来像是发生了什么不好的事情,但其实没关系。
稍后,当你没有插入USB闪存驱动器时,BIOS应该足够智能,会自动切换回上次已知的良好EFI设备(即内部设备),但你可能需要手动重新选择EFI引导选项。
提示:如何重新标记USB引导项以避免重复的“ubuntu”条目
如果你得到了标记为ubuntu的重复EFI引导选项,你可以修复它。 重新标记EFI菜单选项非常方便,但有点棘手。在你从新安装中正常启动后再进行此步骤。这一步是可选的。
确保你从外部驱动器的安装中启动,然后执行以下操作:
sudo efibootmgr -v
你正在列表中的第一行启动。
注意用于引导的文件名称,并注意分区的编号。 我第一个条目的输出是:

HD(1,GPT,...) .... File(\EFI\ubuntu\shimx64.efi)

然后看一下这个帖子:https://www.kubuntuforums.net/showthread.php/68851-Labels-on-UEFI-Boot-Entries-using-efibootmgr-L

我这样重新标记我的'owcUbuntu':

efibootmgr -c -d /dev/sdb -p 1 -L owcUbuntu -l \\EFI\\ubuntu\\shimx64.efi

知道在我的情况下启动驱动器是sdb,而且由于我先创建了EFI分区,所以-p参数的值是1。注意:请检查您实际的启动磁盘是什么 :) 使用gparted或df命令。

USB 3 推荐:我已经在一系列的 USB 3 硬盘上尝试过这个。迄今为止,最好的体验(非常好)是三星 USB 3 "Bar" 硬盘。它们在这种使用情况下(随机访问、带有日志记录的 ext4 分区)非常快速(对于 USB 3 硬盘来说),而且相当坚固。

+1 对此表示赞同:在开始安装之前:编辑您内部驱动器上的EFI分区标志。取消选中相同的三个标志。现在,当您进行安装时,安装程序将只看到目标设备上的一个EFI分区。这是一步新颖的操作,我在其他地方没有见到过记录。 - sudodus

唯一的方法是:
1. 刻录CD iso; 2. 断开硬盘(物理上拔掉连接线); 3. 安装到USB。
虽然不太优雅,但是能用。

16那...相当激进。 - badp
你试过使用备用光盘(而不是桌面光盘)了吗?我发现在安装时,备用光盘对很多事情都效果更好。 - iugamarian
7你不需要拔掉硬盘。只需小心处理分区并使用高级分区工具。确保使用正确的驱动器,并将引导加载程序设置为安装在 /dev/sdb 或其他块设备上(不要使用其中的一个分区,否则将无法启动)。然后,您可以通过使用 BIOS 来使用闪存驱动器的 MBR(假设您的 BIOS 支持)来启动。 - nanofarad
不能这样做,因为我需要拆开我的笔记本电脑然后重新安装。所以:还有其他办法吗? - Regis May
你不需要这样做。看下面我的回答:你可以通过操纵EFI分区上的标志来模拟物理断开连接。你的方法是有效的,与几乎所有其他答案不同。我的方法更加方便 :) - Tim Richardson

可以,没问题。

这个过程假设您是从光盘安装。虽然使用U盘也可以,但理论上来说,光盘选项是最安全的,因为在分区过程中不会意外覆盖光盘。

我建议您首先在BIOS中禁用内部硬盘,以确保不会意外覆盖内部分区。此外,在Ubuntu安装的分区步骤中,只检测到USB驱动器,使得分区更加容易。换句话说,在安装过程中最好只有USB驱动器作为机器上唯一的存储设备。

接下来,启动光盘并按照通常的方式开始安装。如果您禁用了所有其他存储设备,请确保选择“使用整个磁盘”,否则您将需要手动分区。 在最后一种情况下,在USB闪存驱动器上创建一个ext4分区(如果没有分区表,则创建一个),如果您打算运行大型应用程序,则必要时创建一个SWAP分区。将挂载点设置为/。不要触碰其他存储设备及其分区!

当安装程序要求设置引导加载程序位置时,选择您的USB驱动器的设备名称。这可以是`/dev/sda`、`/dev/sdb`等,但不要选择分区(例如`/dev/sda1`)。
等待安装完成,然后重新启动。确保您的机器从USB驱动器启动。可以通过启动菜单(通常是Esc键或功能键)或BIOS来确保这一点,其中可以改变启动顺序。
如果一切顺利,Ubuntu应该从USB驱动器启动。如果出现GRUB,请选择第一个选项。
最后,在您新安装的Ubuntu桌面上运行以下命令:
sudo chmod -x /etc/grub.d/30_os-prober

这样可以确保update-grub不会检测到系统中可能存在的其他操作系统,因为它们对于Ubuntu USB驱动器安装来说并不重要。此外,当您从陌生计算机启动USB驱动器时,内部驱动器上的操作系统将在内核/GRUB更新时包含在GRUB中。这是不希望发生的。
另外,请确保从BIOS中重新启用您的内部存储设备。

这看起来很有希望,谢谢。我会试一下的。只有一个小问题,你把交换分区放在了USB闪存上。现在这还是个问题吗?我记得不久前人们说,如果在闪存上运行交换分区/页面文件,会严重缩短闪存的寿命(因为读写次数太多)。 - efdee
根据你的建议,我将Ubuntu安装在了我的USB闪存驱动器上,但是它无法启动。然而,当我将USB闪存驱动器作为VirtualBox中的硬盘使用时,一切都正常。你有什么想法,可能是什么问题呢? - efdee
显然我可以从它启动,只是不能从USB3连接器启动。当我将U盘插入USB2连接器时,它能正常工作。我猜测我的BIOS原生支持USB2但不支持USB3,因此Linux(或grub,我不确定)需要额外的USB3驱动程序。 - efdee
我喜欢你提到的sudo chmod -x /etc/grub.d/30_os-prober的原因。 - Elder Geek
禁用现有的引导驱动器可以解决Ubuntu安装程序中的一个错误,即使您要求在目标驱动器上进行安装,它也会替换现有的引导加载程序;我下面的答案提供了一个更简单的解决方法来避免这个错误。 - Tim Richardson