在 Acer 上从 USB 闪存驱动器运行 Ubuntu

Byr*_*lue 2 usb-drive

我制作了一个可启动的 USB 闪存驱动器来运行 Ubuntu。该驱动器在我尝试过的大多数笔记本电脑/计算机上运行良好:它不想在我(最喜欢的)Acer Aspire 5745(Windows 7 64 位)上启动。初始屏幕有 SYSLINUX 4.06 EDD 4.06-pre1 (...) 并且只是坐在那里。我一直在使用 Ubuntu 12.04.1 64 位,直到今天早上我尝试启动到 Acer。我也尝试启动到 10.04(将其视为对讨论的修复),结果相同。

我真的很想使用 Acer 进行开发,不想从硬盘上擦除我的 Windows 7。有任何解决方案/答案吗?

我使用的是 16 GB Cruzer 驱动器(我一直在“玩”直到今天早上从 Staples 运来的两个 32 GB Kingston 驱动器)。尽管 Cruzer 驱动器在其他笔记本电脑上运行良好,但它不想在 Acer 上运行。我格式化了其中一个 32 GB 金士顿,它立即启动。我看到的其他可怜的灵魂也有同样的问题。感谢您的快速回复,并将解决方案告诉您的朋友。一时糊涂了我...

fab*_*or4 6

迟到了写这篇文章。

前言

问题似乎是分区表不一致,通常在出厂格式化的 USB 拇指驱动器上发现。分区表的某些方面使其不适合制作 liveUSB。

问题

我对此的研究似乎表明问题源于以 DOS 6.x 格式编写的分区表,这是一种已知的错误实现。以下是 Linux cfdisk 手册页的解释(cfdisk 是用于操作磁盘分区表的基于文本的实用程序):

DOS 6.x 警告

   The DOS 6.x FORMAT command looks for some information in the first sec?
   tor of the data area of the partition, and treats this  information  as
   more  reliable than the information in the partition table.  DOS FORMAT
   expects DOS FDISK to clear the first 512 bytes of the data  area  of  a
   partition  whenever a size change occurs.  DOS FORMAT will look at this
   extra information even if the /U flag is given -- we  consider  this  a
   bug in DOS FORMAT and DOS FDISK.
Run Code Online (Sandbox Code Playgroud)

此问题的表现通常包括以下部分或全部症状:

  • Testdisk 和类似的程序会将分区表识别为由 DOS 5.x 创建
  • Ubuntu 中的启动盘创建者通常会拒绝使用 USB 拇指驱动器,因为它找不到有效的分区表,但是错误消息没有明确说明这一点。
  • 磁盘实用程序和 Gparted 无法删除分区表,因为它们无法识别存在分区表。相反,他们也不能制作分区表,因为他们也认识到那里有东西
  • 在拇指驱动器上运行 fdisk -l 通常会声明它没有分区表,即使您知道有分区表并且如果它仍然安装正常就可以向其中写入数据。
  • 尝试使用该驱动器并在其上放置一个 ext 类型分区表(如果成功)有时会导致不一致 - 该驱动器可能无法在其他机器上工作,或者突然无法在其格式化的机器上安装。这些似乎是“死”的 USB 拇指驱动器,因为设备是固件被识别但它无法安装并且根本无法读取分区表。我怀疑一些相当新的 U 盘被扔掉了,包括我的一个,然后我才弄清楚问题是什么。

受影响的设备

我从个人经验中了解到存在此问题的设备:

Verbatim white 'Stor N Go' 4 和 8 GB 设备 许多金士顿 4Gb 设备 Woolworths “essentials” 4GB 设备

所有这些设备的共同点通常是它们声称与 Linux 操作系统兼容,并且它们通常包含一些用于同步 Windows 数据文件夹的 Windows 备份软件。

我不知道为什么 USB 拇指驱动器制造商提供的设备似乎是分区表格式,但在发布时却出现了问题。任何后来的格式都可能毫无问题地工作,即使按照今天的标准它可能并不完美。

解决方案

dd if=/dev/zero of=/dev/sdX bs=512 count=1
Run Code Online (Sandbox Code Playgroud)

这一小行代码只是在设备 /dev/sdX 上的分区表的顶部写入零

您需要将 sdX 更改为适用于故障 USB 随身碟的正确设备。

警告:使用不正确的设备名称将从您指向的任何设备中完全删除分区表 - 硬盘驱动器、外部备份驱动器等。这将导致删除驱动器上可能存在的任何和所有分区,如果您没有备份所有重要数据,会给您带来很大的痛苦。你被警告了

擦除分区表后,您将必须使用 gparted 之类的程序创建一个新分区,并添加 1 个或多个分区,以便可以使用该设备。根据我的经验,此修复快速、简单且永久。我通常在我购买的所有新 USB 随身碟设备上执行此操作。

也可以使用 Linux 命令行实用程序(例如 fdisk 和 extfs)来创建新的分区表。如果时间允许,我将在这方面添加一些细节。

参考

  • 我运行了这个命令,它说“没有找到介质” (15认同)