我有一个 3TB 的驱动器,希望将其分区为 ext4。GParted 提供了部分帮助。该设备通过 eSATA 电缆连接到磁盘盒。
这是 gparted_details.html
奇怪的是,调用行显示为mkfs.ext4 -F -O ^64bit -L '' '/dev/sda1'
,但 htm 中的错误消息显示为64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Pass -O 64bit to rectify.
,或者“64”之前的插入符号是否重要?
在我保存了 htm 文件后,出现了许多有关同步错误的对话框。
GParted 0.30.0 --enable-libparted-dmraid --enable-online-resize
Libparted 3.2
Create Primary Partition #1 (ext4, 2.73 TiB) on /dev/sda 00:00:56 ( ERROR )
create empty partition 00:00:00 ( SUCCESS )
path: /dev/sda1 (partition)
start: 2048
end: 5860532223
size: 5860530176 (2.73 TiB)
clear old file system signatures in /dev/sda1 00:00:00 ( SUCCESS )
write 512.00 KiB of zeros at byte offset 0 00:00:00 ( SUCCESS )
write 4.00 KiB of zeros at byte offset 67108864 00:00:00 ( SUCCESS )
write 4.00 KiB of zeros at byte offset 274877906944 00:00:00 ( SUCCESS )
write 512.00 KiB of zeros at byte offset 3000590925824 00:00:00 ( SUCCESS )
write 4.00 KiB of zeros at byte offset 3000591384576 00:00:00 ( SUCCESS )
write 8.00 KiB of zeros at byte offset 3000591441920 00:00:00 ( SUCCESS )
flush operating system cache of /dev/sda 00:00:00 ( SUCCESS )
set partition type on /dev/sda1 00:00:01 ( SUCCESS )
new partition type: ext4
create new ext4 file system 00:00:55 ( ERROR )
mkfs.ext4 -F -O ^64bit -L '' '/dev/sda1' 00:00:55 ( ERROR )
64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Pass -O 64bit to rectify.
Creating filesystem with 732566272 4k blocks and 183148544 inodes
Filesystem UUID: 326821ce-0b99-4928-b0cc-8efeb99a3cf4
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information:
mke2fs 1.44.1 (24-Mar-2018)
Warning, had trouble writing out superblocks.
========================================
大约一小时后
我突然想到我可以运行badblocks
并查看是否有任何问题,因为这不是一个新的驱动器。
sudo badblocks -w -s -v /dev/sda -o badblocks.txt
这就是一个读/写测试,状态消息将坏块编号输出到 badblocks.txt。几分钟后,badblocks.txt 中充满了 1.2GB 的可疑块编号。
Warning, had trouble writing out superblocks.
关键是:要写入超级块的块是坏的。
几个小时后
所以问题出在坏块上。我重新分区,给坏扇区留出足够的空间,然后创建了稍小一点的 /dev/sda1。为了以防万一,我目前在新分区上运行坏块。
答案1
假设这是一块全新的、空的 3TB 硬盘,你首先需要用它gparted
来放置一块全新的GPT 分区表(这将会擦除磁盘),然后创建所需大小的 ext4 分区。
更新#1:
坏块
注意:不要中止坏块扫描!
注意:不要对 SSD 造成坏块
注意:请先备份您的重要文件!
注意:这将花费很多小时
注意:您可能面临硬盘故障
启动至 Ubuntu Live DVD/USB。
在terminal
...
sudo fdisk -l
# 识别所有“Linux 文件系统”分区
sudo e2fsck -fcky /dev/sdXX
# 只读测试
或者
sudo e2fsck -fccky /dev/sdXX
# 非破坏性读写测试(受到推崇的)
-k 很重要,因为它会保存之前的坏块表,并将任何新的坏块添加到该表中。如果没有 -k,您将丢失所有之前的坏块信息。
-fccky 参数...
-f Force checking even if the file system seems clean.
-c This option causes e2fsck to use badblocks(8) program to do a
read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block
inode to prevent them from being allocated to a file or direc‐
tory. If this option is specified twice, then the bad block
scan will be done using a non-destructive read-write test.
-k When combined with the -c option, any existing bad blocks in the
bad blocks list are preserved, and any new bad blocks found by
running badblocks(8) will be added to the existing bad blocks
list.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.