我有一台 Dell Inspiron 15R 64 位笔记本电脑。我上面安装了 Windows 8.1。在安装 Ubuntu 13.04 时,我意外地选择了删除磁盘上的所有内容并安装 Ubuntu 的选项,结果我的整个硬盘被格式化为一个安装了 Ubuntu 的分区(因此,现在没有 Windows)。
启动笔记本电脑后,出现错误“未找到启动设备。按任意键重新启动”。这可能是因为 Windows 不再存在,而它的引导加载程序仍然存在(?)。要启动到 Ubuntu,我必须在启动期间按 F12 键在启动选项菜单中手动选择它,或者在 BIOS 设置中将启动选项设置为 UEFI 而不是 Legacy。如果我选择 UEFI 启动选项,那么它会直接启动到 Ubuntu,这就是我目前使用的。我最近将我的 Ubuntu 升级到 14.04,情况仍然相同。
现在,我想在当前系统上安装 Windows 8.1(以及 Ubuntu 14.04)。问题是我已经有一个 Windows 引导程序(?),由于之前格式化硬盘而留下的。我不想冒任何风险,所以我发布了这个问题。
我有 Windows 8.1 的映像文件 (iso)。如何安装 Windows 8.1 以及 Ubuntu 14.04(已存在)?
谢谢!这是DF-H在终端:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 451G 163G 265G 38% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 786M 1.3M 785M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 788K 3.9G 1% /run/shm
none 100M 52K 100M 1% /run/user
/dev/sda1 487M 7.3M 479M 2% /boot/efi
-编辑- 添加了对 Rod Smith 回答的回复信息。以下是 的输出sudo parted /dev/sda print
:
Model: ATA WDC WD5000LPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 512MB 511MB fat32 boot
2 512MB 492GB 491GB ext4
3 492GB 500GB 8453MB linux-swap(v1)
答案1
根据您的描述,您似乎已在 EFI 模式下安装了 Linux,但不知何故将固件设置为默认以 BIOS/CSM/旧版模式启动。这会导致出现“未找到启动设备”错误消息,因为没有 BIOS/CSM/旧版引导加载程序。(Windows 8 及更高版本几乎总是在新硬件上以 EFI 模式安装,因此您购买计算机时不会有 BIOS 模式引导加载程序。)调整启动选项以默认以 EFI/UEFI 模式启动(或等效地,禁用 BIOS/CSM/旧版支持;措辞因 EFI 而异)可能会解决此问题。
展望未来,如果我没记错的话,在 EFI/UEFI 模式下安装 Windows 至关重要。如果您尝试在 BIOS/CSM/旧模式下安装,Windows 会抱怨您的 GUID 分区表 (GPT) 并拒绝安装。在固件中保留 BIOS 模式启动选项可能会导致这种情况发生。
如果我没记错的话,你的电脑已经拥有EFI 系统分区 (ESP)oldfred 提到了这一点。Windows 和 Ubuntu 可以共享一个 ESP。您需要有未分配的空间或现成的 NTFS 分区供 Windows 使用,因此您可能必须使用 GParted(如 mrsud 所建议的)来准备磁盘。您需要从 Ubuntu 实时磁盘执行此操作,因为 GParted 无法修改当前正在使用的任何分区。我建议不要使用 Boot Repair 来恢复 GRUBbcdedit
在 Windows 中使用,因为这是一个较小的选项,不太可能导致后续问题。
作为预防措施,请将您的 ESP(/boot/efi
来自 Ubuntu)备份到 USB 闪存驱动器或其他可移动介质。这样,您可以在 Windows 安装程序将其删除的情况下恢复它。因此,备份所有重要的用户数据也是明智的。
在继续之前,您可能需要检查启动模式和分区表类型。在 EFI 模式下启动 Ubuntu 时,/sys/firmware/efi
应该存在一个名为的目录。查找它以验证您是否处于 EFI 模式。要检查分区表,请键入sudo parted /dev/sda print
。您应该看到类似以下内容的输出:
$ sudo parted /dev/sda print
Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 20.5kB 577MB 577MB fat32 EFI System boot
2 578MB 1102MB 524MB ext2 Ubuntu /boot
3 1102MB 1626MB 524MB Unused /boot
4 1626MB 3001GB 2999GB Linux LVM lvm
您的分区在很多细节上与我的不同,但请注意Partition Table
将分区表标识为 GPT 或 MBR 的行(显示为msdos
,如果我没记错的话)。还请注意设置了标志的 FAT32 分区boot
- 即 ESP。(其在Name
列中的条目对人类来说是描述性的,可能不会EFI System
像我的一样读作 。)
如果你不有一个/sys/firmware/efi
目录和/或如果你的磁盘不是使用 GPT,那么我对您所写内容的理解就是错误的,您应该回复详细信息。(编辑您的原始问题。)在这种情况下,请忽略我在此处写的所有内容 - 或将其归档以供将来参考 - 因为如果您实际上已在 BIOS/CSM/旧模式下安装了 Linux,则它不适用。
答案2
使用创建一个分区gparted
,然后在其中安装 Windows。稍后您可以使用它boot-repair
来恢复grub
。
答案3
UEFI 模式下的 Windows 也需要一个保留分区,并且它必须位于 NTFS 分区之前。
我建议将 Windows 安装到未分配的空间中。
微软建议的分区包括为 gpt 和 UEFI 保留的分区:
http://technet.microsoft.com/en-us/library/dd744301%28WS.10%29.aspx
驱动器上的顺序很重要:msftres
http://en.wikipedia.org/wiki/Microsoft_Reserved_Partition
efi 分区仍包含旧条目,新安装应将其覆盖。但 UEFI 还会在其 NVRAM 中记住 efi 分区的设置。Windows 也应该刷新它,或者您可能需要使用 efibootmgr 手动更新它,或者如果您的 UEFI 具有更好的菜单选项,则可能需要从 UEFI 内部更新它。
答案4
如果您使用的是 EFI / UEFI 启动而不是 HD 的引导加载程序(例如 GRUB),请忽略此答案。
我会将 .iso 刻录到 DVD,然后按照上述有关按所需方式设置 BIOS 的建议进行操作。我会先安装 Windows 8.1,删除所有分区,然后从一半驱动器创建一个分区。先完成所有 Windows 操作,忽略驱动器未使用的一半,等 Windows 运行并更新后再安装 Linux。