使用 gparted 将 128GB SD 卡格式化为 ext4

使用 gparted 将 128GB SD 卡格式化为 ext4

我正在尝试格式化插入运行 Crouton 的 Toshiba Chromebook 2 上的内部 SD 卡读卡器的 SanDisk 128GB SDXC 卡。

当我使用 gparted 格式化为 ext4 时,操作永远无法完成,我不得不中断操作并收到警告,说我正在严重损坏文件系统。如果我尝试格式化为 FAT 32,它会给出错误消息。但是,当我插入卡并重新插入时,格式化为 FAT 32 它会在一分钟左右内完成。

在 Ubuntu 上格式化这种大小的 SD 卡是否存在已知问题?有没有什么办法可以将其格式化为 ext4?还是说这需要很长时间,我需要耐心等待操作运行(到目前为止已经至少十分钟了,但似乎什么也没做)?

编辑:

这就是我尝试用 SD 执行的操作 - 这样的操作是否必须使用 ext4 或 Fat32 也可以?

http://ubuntuforums.org/showthread.php?t=2242850

编辑:

我尝试在 Chrome OS 中使用 fdisk。

我可以成功创建一个新的分区,但是当我尝试使用 mkfs.ext4 时,我收到了与 gparted 相同的错误消息:

/dev/mmcblk1p1 is apparently in use by the system; will not make a filesystem here!    

我用 Google 搜索了该错误,一切似乎都与 RAID 驱动器有关,修复方法有点超出我的理解范围

编辑

以下是 gparted 的完整输出

在 /dev/mmcblk1 00:00:03 上创建主分区 #1 (ext4, 116.73 GiB)(错误)

创建空分区 00:00:02(成功)

路径:/dev/mmcblk1p1 开始:2048 结束:244809727 大小:244807680(116.73 GiB)在 /dev/mmcblk1p1 上设置分区类型 00:00:01(成功)

新分区类型:ext4 创建新的 ext4 文件系统 00:00:00(错误)

mkfs.ext4 -j -O 范围 -L “” /dev/mmcblk1p1

mke2fs 1.42 (2011 年 11 月 29 日) /dev/mmcblk1p1 显然正在被系统使用;不会在此创建文件系统!

编辑:

以下是以下指令的输出

(precise)connor@localhost:~$ sudo umount /dev/mmcblk1
[sudo] password for connor: 
umount: /dev/mmcblk1: not mounted
(precise)connor@localhost:~$ sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 15.8013 s, 6.6 MB/s
(precise)connor@localhost:~$ sudo mkfs.ext4 -L "J Connor" /dev/mmcblk1
mke2fs 1.42 (29-Nov-2011)
Discarding device blocks: 4096/30601216

系统此时只是停留在原地,不做任何事情。如果我移除 SD 卡,chromebook 就会重新启动。

编辑:

我再次尝试,这次结果有所不同(有点不同)——当我这次检查 Chrome OS 文件系统时,设备没有像上次一样挂载。但是我得到了与 gparted 相同的错误:

(precise)connor@localhost:~$ sudo umount /dev/mmcblk1
[sudo] password for connor: 
umount: /dev/mmcblk1: not mounted
(precise)connor@localhost:~$ sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.171444 s, 612 MB/s
(precise)connor@localhost:~$ sudo mkfs.ext4 -L "J Connor" /dev/mmcblk1
mke2fs 1.42 (29-Nov-2011)
/dev/mmcblk1 is apparently in use by the system; will not make a filesystem here!
(precise)connor@localhost:~$

答案1

有问题分区从操作系统运行(即不是从“实时”启动盘启动)。假设您想将整个驱动器分配给一个ext4分区。

笔记:假设制作一个完整的磁盘ext4破坏该驱动器上的任何现有数据!

尝试手动方法,

   lsblk 

X直观地确定您的 USB 驱动器的位置,即中的字母,以及中的/dev/sdX分区(如果有)。例如,,... 在相关的地方替换 X。N/dev/sdXN/dev/sdc/dev/sdc1

如果有必要,卸载该驱动器上安装的所有内容

   sudo umount /dev/sdXN

然后,可选地,通过在闪存(此处为 100 MB)的开头写入零,使格式化工具“相信”驱动器是空白的,以便从干净的地方开始。由于直接写入设备会绕过更高级别的机制,因此sync可以确保数据确实写入(不仅写入缓冲区)

   sudo dd if=/dev/zero of=/dev/sdX bs=1M count=100
   sudo sync

拔下电源,几秒钟后重新插入驱动器。lsblk将显示一个空白磁盘。

制作一个 ext4 磁盘

如果要将整个 USB 驱动器分配给一个ext4分区,您可以简单地覆盖整个分区,包括分区表

命令:

   sudo mkfs.ext4 -L "J Connor" /dev/sdX

就这样。(拔下/重新插入)

或者创建一个设置为 ext4 的分区

或者您可以先创建一个分区,可能小于 128 GB(来自“空白”磁盘)

使用fdisk

   sudo fdisk /dev/sdX

命令(h 获取帮助):确保没有分区

   p

然后创建一个分区 (n)、主分区 (p)、第 1 部分 (1) 和整个大小(第一个和最后一个扇区的默认大小(或设置较小的大小,即最后一个扇区编号较低))

   n
      p
      1
      (return for first sector default)
      (return for last sector default or set smaller size)

写入新的分区表

   w

剩下fdisk
注意:默认情况下fdisk会创建一个分区83(Linux)。

ext4现在在新分区上创建文件系统

   sudo mkfs.ext4 -L "J Connor" /dev/sdX1

尝试拔下并重新插入设备 - 它应该会自动安装。

或者手动安装

   sudo mkdir /mnt/mydrive
   sudo mount /dev/sdX /mnt/mydrive

   sudo ls -l /mnt/mydrive

   drwxr-xr-x 3 root root  4096 Jan 31  9:28 ./
   drwxr-xr-x 6 root root  4096 May  9  2014 ../
   drwx------ 2 root root 16384 Jan 31  9:28 lost+found/

也可以看看这些解释关于fdisk

相关内容