我有一个旧的 Mac OS X 驱动器,我想将其重新用作外部存储。我正在尝试重新格式化驱动器,以便使用 Linux parted 执行此操作。我已成功删除除 32 KB 头分区之外的所有旧分区:
GNU Parted 2.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ST375064 0NS (scsi)
Disk /dev/sdc: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: mac
Number Start End Size File system Name Flags
1 512B 32.8kB 32.3kB Apple
(parted) rm 1
Error: Partition map has no partition map entry!
Fix/Cancel? Fix
(parted) print
Model: ST375064 0NS (scsi)
Disk /dev/sdc: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: mac
Number Start End Size File system Name Flags
1 512B 32.8kB 32.3kB Apple
这似乎是作为漏洞对于相关的 gparted 程序,所以我猜测 parted 有同样的问题。
我也尝试使用 fdisk:
sudo fdisk -c -u sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x23b7e238.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
是否可以使用任何 Linux 工具来实现此目的?此超级用户问题似乎表明通过安装全新的操作系统可以解决问题,但我需要通用存储驱动器而不是全新安装的操作系统,所以我希望有一种更简单的方法。
答案1
你读过你提到的错误报告吗?评论#4说 32 kB 分区包含分区表本身,这就是为什么它不能被移除。(这就是错误:分区图没有分区图条目!指。)
这是苹果分区图格式,即您的磁盘当前使用的格式。如果需要,您可以将磁盘更改为使用 GPT 或 MBR。
您可以使用 partedmklabel
命令写入一个新的空分区表(又名“disklabel”)。这将彻底删除所有现有分区(如果有)。
mklabel gpt
–GUID 分区表,由 Intel Mac 使用,Linux、Windows Vista 及更高版本支持。(推荐,除非您想在磁盘上安装 Windows。)mklabel msdos
–膜生物反应器,由个人电脑使用,实用到处,但会造成“主/扩展”分区混乱。(如果您需要非常好的操作系统支持,请使用 MBR,否则请选择 GPT。)mklabel mac
–苹果分区图,由较旧的(非 Intel)Mac 使用,尽管 Intel Mac 和 Linux 也可以读取它。(APM 已被 GPT 淘汰。)
除了 parted 之外,还可以分别使用gdisk
和创建 GPT 和 MBR 表fdisk
,类似于您尝试的命令——似乎您只是忘了告诉 fdisk 将新的 MBR 实际写入磁盘;“更改将仅保留在内存中,直到您决定写入它们。“
在 中fdisk
,使用c强制创建新的 MBR 分区表(丢弃旧表),并将w其写入磁盘。(-c -u
不需要命令行选项。)
在gdisk
(有时磁盘管理),o将创建一个新的 GPT(输入分区管理器会将来自 APM 或 MBR 的现有分区的信息w写入磁盘。
答案2
您是否尝试将分区表更改为 Reiser 或 EXT3?
我假设您正在尝试使用 Linux 来执行此操作,那么您首先卸载了驱动器吗?
您是否尝试过通过在原分区上创建一个新分区来破坏原分区?
以下内容可能有助于解决您的格式化问题: