USB驱动器安装Ubuntu 12.04服务器失败 - 找不到光盘驱动器中的组件。

我正在尝试使用USB驱动器在一台机器上安装Ubuntu 12.04服务器版(32位)。我使用了Universal-USB-Installer-1.8.9.4,该软件支持12.04服务器版,将ISO文件写入USB驱动器。
  1. 计算机成功启动安装过程。
  2. 它完成了Ubuntu语言、区域设置和键盘选择。
  3. 然后开始加载其他组件。此时,它完成了大约四分之一的进度,然后出现一个大错误消息:

[!!] 从CD加载安装程序组件

从CD-ROM读取数据时出现问题。请确保它在驱动器中。如果重试不起作用,请检查CD-ROM的完整性。

无法从CD-ROM复制文件。重试?

cd rom error with purple background

重试显然也失败了。尝试重新运行并再次安装到USB上,但没有变化。尝试检查CD-ROM的完整性错误,出现以下错误:

[!] 检查CD-ROM的完整性

完整性测试失败

./pool/main/l/linux/fs-secondary-modules-3.2.0-23-generic-pae-di_3.2.0-23.36_i386. 文件未通过MD5校验。您的CD-ROM或此文件可能已损坏。

enter image description here

也尝试了Ubuntu-Server 12.04 LTS(Precise Pangolin)的每日构建版本,但没有成功。甚至检查了ISO文件的SHA1哈希值,结果匹配。
还尝试了LinuxLive USB Creator 2.8.11和unetbootin-windows-575,以确定是否是USB驱动器软件的问题,但仍然无法启动。
有什么想法吗?

2这个问题也影响到了ubuntu-12.04.2-server-amd64.iso,并且在https://bugs.launchpad.net/debian-installer/+bug/1130381上有一个已经提交的错误报告。 - Omid Kosari
3在尝试安装ubuntu-12.04.2-server-amd64时,我遇到了这个问题。对我有效的解决方案是使用Win32 Disk Imager将ISO写入USB闪存驱动器。 当我在7-zip中打开ISO镜像,或者使用Daemon Tools挂载并在Windows资源管理器中查看内容时,都显示了/pool/main/l/linux目录下文件名被截断的情况。 - NickG
1NickG的解决方案对我也有效(我之前在Windows下使用了UNetbootin,显然没有起作用)。 - gablin
我也遇到了同样的问题,但是是在13.10版本。结果发现问题不在于安装程序,而是主板的BIOS设置(GIGABYTE GA-990FXA-UD3)。我无法从USB安装,最终只能克隆现有的服务器安装并用它启动计算机。USB端口和以太网卡都无法工作。一旦更改了BIOS设置,一切都开始正常运行。请参阅http://askubuntu.com/questions/276788/trouble-installing-12-10-on-a-ga-990fxa-ud3-base-machine-network-and-usb-dont#comment497560_276788获取详细信息。 - hknust
我尝试了下面的解决方案,但都没有对我起作用。似乎是在13.04以上的版本中存在问题。我成功地安装了Ubuntu Server 13.04 64位版本,没有遇到任何问题。这里是13.04 raring ringtail的下载链接:http://old-releases.ubuntu.com/releases/13.04/ - Kyle Coots
我读了这个页面,思考了一下,重新启动了,再试了一次,结果成功了。 - sshow
7个回答

这是我使用Ubuntu 12.04 LTS服务器安装USB闪存的解决方案:
  • 运行安装程序。
  • 打开终端(按ALT + F2)。
  • 在文件系统根目录下直接创建目录cdrom

    mkdir /cdrom
    

    (如果无法创建目录/cdrom,请在BIOS中禁用CD-ROM播放器或断开电缆)

  • 将USB设备挂载为CD-ROM:

    mount -t vfat /dev/sdb1 /cdrom 
    

    其中sdb1是你的USB设备。

就这些。

6重新安装后,按下Alt-F1键即可返回安装界面。 - jevon
挂载 /dev/db1 到 /cdrom 失败:设备或资源忙。 - themihai
我猜你需要挂载/dev/sdb1。你确定/dev/db1是你的USB设备吗?通过观察你的/dev/目录并拔掉USB设备,看看哪些设备被移除来进行确认。 - Rob Groen
谢谢,它也适用于14.04.3 LTS服务器安装。 - ad3luc

似乎在\pool\main\l\linux目录下的文件名存在一些错误(我发现了错误的扩展名*.ude,而不是正确的*.udeb),以及在./install/netboot/ubuntu-installer/i386/pxelinux.cfg/default文件中的MD5校验和错误。修复这些错误后,我可以安装32位服务器版操作系统。

1谢谢!是的,它们肯定像那样在ISO镜像中。奇怪的是,我成功地通过简单地刻录到DVD上来使其工作,甚至没有将文件重命名为正确的扩展名。但是,从USB安装时必须检测到错误。 - zuallauz
1恭喜 @hre1。多年来,USB安装一直存在问题。没有人真正解决过这个问题,也没有完全确定过是什么原因引起的。唯一的解决方法是对于那些在安装过程中总是出现卡顿的少数机器,使用CD-ROM进行安装。 - david6
@david6,如果你的机器没有CD-ROM,那么就没有其他解决办法了吗? - Drew Noakes
1也许:如果USB是在与目标相同的Ubuntu版本下创建的,则通常可以成功(即使“Universal”创建的USB失败)。例如,使用12.04 LTS“桌面版”为12.04 LTS“服务器版”创建USB安装。虽然还需要修复一些错误,但这样可以将其最小化。 - david6
1我在\pool\main\l\linux中没有任何*.ude文件,而是有*.udeb文件。 - Open SEO
1只需更改扩展名,就可以解决问题了,寻找它们。我找到了它们,只需重新命名扩展名,一切都像魔术般顺利运行。 - Basit Anwer
1有同样的问题,关于 ude 和 udeb,但后者不是无效的 MD5-校验和,而是 pool/main/l/linux-lts-quantal/ 中大多数文件名被裁剪了。 - Bevor
只要文件的扩展名是正确的(.deb和.udeb),就没有错误的文件。但是用这种方法没有成功。必须在Ubuntu安装中创建USB驱动器。 - Irfy

解决方案是使用启动盘创建器。我已经在我的USB键上尝试过,并且成功安装了Ubuntu Server 12.04 LTS 32位版本。我使用Ubuntu Desktop 12.04 LTS来创建我的USB启动盘。有关启动盘创建器的详细信息,请参阅此文章:http://www.ubuntu.com/download/help/create-a-usb-stick-on-ubuntu

1我刚刚尝试了这种方法,确实有效,所以给个赞... 但是,我不会称之为“解决方案”,因为很明显Ubuntu光盘镜像或者Universal USB Installer程序存在问题。 - Breakthrough
这种方法是相当有效的。但是,我担心这样做会迫使人们绕过规定。在一些老设备中(旧版BIOS、芯片)仍然存在SDC/USB方法无法使用的情况,只能通过CD安装解决。 - david6
如果你只有一个Windows电脑,这并不是一个解决方案。 - Open SEO

对我来说,只需要将那些扩展名(*.ude)更改为(*.udeb),位于\pool\main\l\linux目录下。

对我来说也是。很高兴在把所有头发都拔光之前找到了这个帖子。 - Drew Noakes
2进入pool/目录,运行find . -name "*.ude" -exec mv {} {}b \;来修复所有的文件。 :) - gertvdijk

我找到了另一个解决方案。按照以下步骤操作:
  • 使用Universal-USB-Installer-1.8.9.4创建可启动的U盘
  • 同时将相同的ISO文件复制到U盘中
  • 重新启动系统并选择执行shell命令
  • 运行以下命令(注意设备/U盘名称):
  • mount -o loop /dev/sdb1 /cdrom
    exit
    
  • 选择从CDROM加载配置选项
  • 显示一系列选项,请选择与加载ISO相关的第3、第4和第5个选项
  • 现在在主菜单中选择从磁盘加载ISO选项
  • 显示磁盘列表,选择与您的U盘对应的磁盘
  • 将显示ISO文件,请选择该文件完成操作
  • 按照屏幕上的其他选项进行操作

啊哈!-- 就在那里。文件名被截断为64个字符。Ajay提供的解决方案对我很有帮助。 - user67984
这让我找到了正确的方法。最后我手动挂载了ISO文件。在“选择语言”屏幕上,按下alt-F2键创建挂载目录,然后执行命令mount -o loop /dev/sda1 /usb_drivemount -t iso9660 -o loop "/usb_drive/<image_name>.iso" /cdrom。然后使用alt-f2键返回向导界面。 - Aaron

这里的问题(10.04 64位服务器上损坏的安装程序映像)通过在现有的12.04安装(edu i386)上使用启动盘创建器来解决。 Ubuntu 10.04.4 LTS 64位上的启动盘创建器导致了损坏的启动USB,并且似乎不兼容(足够)以创建一个12.04安装的USB闪存驱动器。

我使用了PendriveLinux的最新版本(1.8.9.6)来为Windows创建启动盘,但是我也遇到了这个问题。通过使用启动盘创建工具来制作可引导的USB闪存驱动器解决了我的问题。

  • 相关问题