![通过 liveUSB 安装时未检测到主驱动器](https://linux22.com/image/1202580/%E9%80%9A%E8%BF%87%20liveUSB%20%E5%AE%89%E8%A3%85%E6%97%B6%E6%9C%AA%E6%A3%80%E6%B5%8B%E5%88%B0%E4%B8%BB%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
最近几天,我一直在尝试在 Windows 旁边安装 Ubuntu 16.04 LTS。不幸的是,有一件重要的事情,我可以在互联网上找到很多相关信息,但没有一个真正适合我的情况,或者根本无法与我的设置配合使用。在 UEFI 模式下启动 liveUSB 时,Ubuntu 无法找到其他设备。在 AHCI 模式下使用 SATA 操作启动 liveUSB 时,我的 SSD 确实会显示出来,但我的 Windows 无法使用 AHCI,而这对我来说不是一个选项。
回到 Windows,当我将 SATA 操作设置为“Raid On”时,我能够使用其分区管理器列出我的主驱动器和所有分区(包括 ESP 分区)。我还缩小了 Windows C:/ 分区以获得 64GB 的可用/未分配空间来安装 Ubuntu。
有关我的设置的更多信息:
- Windows 10 家庭版 (OEM)
- SSD 由东芝制造
- 有关我的笔记本电脑的更多信息:http://www.dell.com/en-us/shop/productdetails/xps-15-9560-laptop/dncwxb1608v2
输出fdisk -l
Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
...
Disk /dev/ram15: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/loop0: 1.3 GiB, 1433468928 bytes, 2799744 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 1.9 GiB, 2031091712 bytes, 3966976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb261ec41
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 3966975 3964928 1.9G c W95 FAT32 (LBA)
Error: no partitions
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
输出efibootmgr -v
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0000,0003
Boot0000* Windows Boot Manager HD(1,GPT,bdfab330-7e21-49af-9369-3cd2d7386a97,0x800,0xfa000)/File(EFIMicrosoftBootbootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....z...............
Boot0003* UEFI: USB Flash MemoryPMAP, Partition 1 PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0)/HD(1,MBR,0x65,0x800,0x3c8000)..BO
dmraid -b
输出与选项相同的输出-r
no block devices found
我该如何设置 Ubuntu liveUSB 以便它能够检测到我的主驱动器,以便我可以在其上安装 ubuntu 以及 Windows 安装?
答案1
首先,你可能混淆了两件不相关的事情。你写道:
在 UEFI 模式下启动 liveUSB 时,Ubuntu 无法找到其他设备。在 AHCI 模式下使用 SATA 操作启动 liveUSB 时,我的 SSD 确实会显示出来,但我的 Windows 不支持 AHCI,而这对我来说不是一个选项。
您将两个问题描述得好像它们相关,但事实并非如此:
- 启动模式(BIOS/CSM/legacy 与 EFI/UEFI)-- 这是指计算机作为引导加载程序运行的代码类型。自 20 世纪 80 年代以来,大多数 PC 都使用 BIOS 固件。BIOS 是原始的,本质上是 16 位的。然而,自 2011 年底以来,制造商已迅速从 BIOS 转向较新的 UEFI(即 EFI 2.x;我通常使用“EFI”,因为它是更通用的术语,而 Mac 仍使用 EFI 1.1)。UEFI 是用 C 编写的,使用与 CPU 和操作系统相同的位深度(32 位或 64 位;虽然在匹配 CPU、EFI 和 OS 位深度方面有一些回旋余地,但没有 EFI 本身使用 16 位代码)。大多数 EFI 都具有一项称为兼容性支持模块 (CSM) 的功能,这使它们能够运行 BIOS 模式的引导加载程序。您的预装 Windows 几乎肯定会以原生 EFI 模式启动,启用 CSM 安装 Ubuntu 更有可能产生问题而不是解决问题,因此我强烈建议您坚持使用 EFI 模式,除非您有令人信服的理由不这样做。您没有描述这样的理由。
- 磁盘访问模式(IDE、AHCI 或 RAID)-- 所有硬盘都通过主板上的芯片组、插卡或接口设备进行访问。在大多数现代主板中,您可以通过将磁盘访问工具设置为“IDE”模式来告诉系统要求操作系统了解特定的芯片组。最近,AHCI 模式提供了一种软件标准化,允许使用操作系统中的 AHCI 驱动程序而不是 IDE 驱动程序。这对于使磁盘在较新的主板上工作很有帮助,因为 IDE 驱动程序可能尚未提供。最后,许多主板将 RAID 控制放在与 IDE 与 AHCI 切换相同的菜单中,尽管这实际上不是同一维度。袭击可以将多个磁盘捆绑在一起并像一个磁盘一样进行访问,从而提高速度、可靠性或两者。大多数主板实现的 RAID 类型是一种由固件介导的软件 RAID,又称“假 RAID”——虽然它并不是真的假的,只是基于软件。在我看来,这种 RAID 类型通常会导致比它本身更多的问题,因为它在多启动环境中很难工作,所以我建议不要使用它。
您描述的效果几乎肯定是由 IDE-vs.-AHCI 设置引起的;听起来您的磁盘/SSD 控制器尚未得到 Ubuntu 16.04 的支持,但可以通过 AHCI 设置使其工作。这与 BIOS-vs.-EFI 设置无关,并且由于 Windows 几乎肯定安装在 EFI 模式下,因此您应该将固件配置为在 EFI 模式下启动(禁用“CSM”、“BIOS”或“传统启动”选项)。原则上,您可以通过四种方式继续:
- 每次重启时切换 IDE/AHCI 设置——这会非常尴尬,所以我仅仅为了完整性而提到它。
- 让 Ubuntu 使用 IDE 模式-- 您说您正在使用 Ubuntu 16.04 LTS。如果您指的是 2016 年 4 月发布的原始版本,那么它的内核就比较旧了(4.4 系列)。但是,使用 16.04 系列中的最新版本(16.04.2)会将内核升级到 4.8 系列中的某个版本,这可能足以让 Ubuntu 与您的硬件的 IDE 模式兼容。如果失败,请尝试 17.04,它带有 4.10 内核。如果失败,那么您需要尝试定制的内核,可能使用实验性驱动程序进行修补,或者在最坏的情况下使用您自己编写的驱动程序。这会变得越来越困难,并且可能超出您的技能水平。
- 使用其他 Linux 发行版-- Fedora、OpenSUSE、Arch 和其他 Linux 发行版都独立编译内核。因此,其中一个或另一个可能有较新的内核,或者可能使用不同的选项对其进行了编译,这些选项可能使其能够在硬件上使用 IDE 模式,而 Ubuntu 则无法做到这一点。请注意,Ubuntu 衍生产品(例如 Mint)不太可能比 Ubuntu 做得更好,因为这些 Ubuntu 衍生产品通常使用来自 Ubuntu 的未更改内核。
- 让 Windows 使用 AHCI 模式-- Windows 肯定支持 AHCI 模式,如果您在启用 AHCI 模式的情况下重新安装它,它应该可以工作。不过,将现有安装切换为使用 AHCI 模式可能更容易。我不是 Windows 专家,这也不是 Windows 论坛,所以我无法在这里提供详细的说明;但快速的网络搜索会找到不少关于如何执行此操作的页面。这一页是我发现的第一个;但由于我从来没有这样做过,而且我也不是 Windows 专家,所以我不能保证这个过程会起作用。
总的来说,我认为你应该先尝试使用 IDE 模式的较新版本的 Ubuntu;但这主要是因为我不熟悉 Windows 切换磁盘模式的过程,因此无法评估该方法的风险。如果 Windows 专家告诉你将 Windows 切换到 AHCI 模式是安全的,你可能想尝试这种方法。当然,如果连 Ubuntu 17.04 都不起作用,那么切换 Windows 的启动模式可能是你最好的选择,除非你愿意尝试另一个 Linux 发行版。