我正在尝试格式化插入运行 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
。