是否可以备份启动分区的内容,将其格式化,然后将内容复制回去?

是否可以备份启动分区的内容,将其格式化,然后将内容复制回去?

我正在尝试在 iMac(2010 年中期型号)上安装 Windows 8。iMac 上已经安装了 Ubuntu 14.04,我打算保留它。所以基本上我想双启动 Ubuntu 和 Windows 8。(这台机器上没有 OSX)。

我的内置硬盘具有以下设置:

  • EFI 启动分区
  • Ubuntu 的 Ext4 分区
  • 适用于 Windows 8 的 NTFS 分区(当前为空)
  • SWAP 分区

我启动了 Windows 8 安装 USB,并单击 Windows 8 安装程序,直到进入分区部分。

在选择要安装 Windows 8(NTFS 分区)的分区后,安装程序抛出以下德语错误,因此我尝试将其翻译:

您的 EFI 分区不是 NTFS 格式。尝试将 EFI 分区格式化为 FAT32

我确定我的 EFI 分区是 FAT 格式,但也许是 FAT16(我最初使用 Ubuntu Live CD 安装程序在这台机器上安装 Ubuntu,它创建了 EFI 启动分区,所以我不确定选择什么作为标准)。

所以我的问题是,为了能够安装 Windows 8,现在最好的办法是什么?

如果我更改 EFI 启动分区的格式,那么显然这会破坏其上的所有数据,然后我将无法启动 Ubuntu。

有没有办法可以保存启动分区的内容,然后格式化它,再将内容复制回来?

或者有更简单的方法吗?也许格式化启动分区,然后使用 Boot Repair?这样可行吗?或者格式化它会删除甚至无法使用 Boot Repair 恢复/修复的关键数据吗?

更新 1:

Gparted 说 /dev/sda1 是具有启动标志的 fat32。

的输出gdisk -l /dev/sda1为:

GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. 
***************************************************************

Disk /dev/sda1: 1048576 sectors, 512.0 MiB
Logical sector size: 512 bytes
Disk identifier (GUID): D3ADE546-714D-4E91-B07D-8BB7AF42128D
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1048542
Partitions will be aligned on 2048-sector boundaries
Total free space is 1048509 sectors (512.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name

打印的输出sudo parted /dev/sda是:

Model: ATA WDC WD1003FZEX-0 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  538MB   537MB   fat32                 boot
 2      538MB   567GB   566GB   ext4
 9      987GB   1000GB  12,9GB  linux-swap(v1)

答案1

您报告了以下错误消息:

您的 EFI 分区不是 NTFS 格式。尝试将 EFI 分区格式化为 FAT32

这很令人困惑,因为它似乎暗示 Windows 安装程序希望分区既是 NTFS 又是 FAT32——这是不可能的。事实上,EFI 系统分区 (ESP) 必须是 FAT,而 Windows 希望它是 FAT32。(EFI 规范明确提到了 FAT32,但也在其他地方提到了其他 FAT 位深度,因此规范可能更清楚。)我怀疑对 NTFS 的引用要么是您的打字错误,要么是 Windows 安装程序中的错误,并将在此假设下继续进行……

我确定我的 EFI 分区是 FAT 格式,但也许是 FAT16(我最初使用 Ubuntu Live CD 安装程序在这台机器上安装 Ubuntu,它创建了 EFI 启动分区,所以我不确定选择什么作为标准)。

Ubuntu 的安装程序将使用 FAT 作为 ESP,但位深度取决于分区的大小 - 至少在几个版本之前是这样的。您可以使用parted或 GParted 检查当前的 FAT 类型,如下所示:

$ sudo parted /dev/sda print
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name                 Flags
 1      524kB   1573kB  1049kB               BIOS boot partition  bios_grub
 2      1573kB  580MB   579MB   fat32        EFI System           boot
 3      580MB   1106MB  525MB   ext4         Xubuntu /boot
 4      1106MB  1631MB  525MB   ext4         Ubuntu /boot         legacy_boot
 5      1631MB  250GB   248GB                Linux LVM            lvm

如您所见,该磁盘的 ESP(/dev/sda2)是 FAT32。

如果您发现您的 ESP 是 FAT16,那么是的,您可以备份它,在其上创建一个新的 FAT32 文件系统,然后恢复它——至少,假设它足够大以容纳 FAT32 文件系统(如果我没记错的话,FAT32 文件系统的最小大小为 32MiB)。请注意,您几乎肯定需要更新/etc/fstab新序列号的条目(大多数 Linux 实用程序和配置文件(包括/etc/fstab)错误地将其称为“UUID”)。或者,您可以检查当前序列号(从中检索/etc/fstab或检测到的blkid),然后将其作为值传递给选项-imkdosfs重新使用旧号码。

相关内容