노트북에 사용하는 2TB 디스크가 있습니다. 디스크가 ext4로 포맷되어 있고 내 노트북에서는 제대로 작동하지만, (sata-usb 어댑터를 통해) 데스크탑에 연결하면 다음 오류로 인해 마운트할 수 없습니다.
데스크탑에서:
# mount /dev/sdd1 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdd1, missing codepage or helper program, or other error.
# dmesg | grep sdd
[ 6978.692452] sd 11:0:0:0: [sdd] 3907029166 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 6978.692604] sd 11:0:0:0: [sdd] Write Protect is off
[ 6978.692606] sd 11:0:0:0: [sdd] Mode Sense: 03 00 00 00
[ 6978.692799] sd 11:0:0:0: [sdd] No Caching mode page found
[ 6978.692803] sd 11:0:0:0: [sdd] Assuming drive cache: write through
[ 6978.789625] sdd: sdd1
[ 6978.789631] sdd: p1 size 3907027120 extends beyond EOD, enabling native capacity
[ 6978.792344] sdd: sdd1
[ 6978.792346] sdd: p1 size 3907027120 extends beyond EOD, truncated
[ 6978.793299] sd 11:0:0:0: [sdd] Attached SCSI disk
[ 7002.085079] EXT4-fs (sdd1): bad geometry: block count 488378390 exceeds size of device (488378389 blocks)
# fdisk -l /dev/sdd
Disk /dev/sdd: 1.8 TiB, 2000398932992 bytes, 3907029166 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa3bf120c
Device Boot Start End Sectors Size Id Type
/dev/sdd1 2048 3907029167 3907027120 1.8T 83 Linux
노트북에서:
# dmesg | grep sdb
[ 6.747344] sd 1:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 6.747347] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[ 6.747369] sd 1:0:0:0: [sdb] Write Protect is off
[ 6.747372] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 6.747407] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 6.769650] sdb: sdb1
[ 6.770587] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 14.128886] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: data=ordered
here I tried remount it, and it worked fine:
[ 286.189504] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
# fdisk -l /dev/sdb
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xa3bf120c
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3907029167 3907027120 1.8T 83 Linux
내 질문은: 한 컴퓨터가 다른 컴퓨터와 디스크의 섹터 수를 다르게 표시하는 이유는 무엇입니까? 불량 블록이 있는지 확인했는데 아무것도 발견되지 않았습니다.
답변1
이는 USB 인터페이스 어댑터에 결함이 있을 때 발생합니다. 어댑터 오류의 가능한 원인:
어댑터가 너무 오래되었습니다.
저렴한 어댑터
어댑터 펌웨어 오류
이러한 오류는 다음과 같이 더 자주 발생합니다.고급 형식운전사.
일부 어댑터는 레거시 형식 드라이브를 에뮬레이트하기 위해 AF 드라이브 상호 작용을 "변환"하려고 시도합니다.
이는 다음을 수행할 수 있음을 의미합니다.
USB 어댑터를 사용하여 드라이브를 포맷하고 두 컴퓨터 모두에서 USB 어댑터를 계속 사용하십시오.
드라이브를 포맷할 필요가 없도록 더 나은 USB 어댑터를 구입하세요.
두 컴퓨터 모두에서 내부 SATA 커넥터를 사용하십시오.
포맷하면 드라이브의 모든 데이터가 삭제됩니다.
답변2
보고된 크기의 차이는 매우 작습니다. 3907029166과 3907029168(2개 섹터 = 1KB)에 불과합니다. 노트북을 데스크탑 시스템으로 이동하기 전에 노트북의 파일 시스템과 파티션을 축소하여(더 큰 크기 보고) 이를 달성할 수 있습니다.
첫째, resize2fs
파일 시스템을 1블록씩 축소할 수 있습니다. 이 정도면 충분할 수 있습니다.
그러나 파티션 테이블이 작성되는 방식에 따라 파티션을 그렇게 작은 양으로 축소하지 못할 수도 있습니다(예: 전체 트랙 또는 1MB 등이 필요할 수 있음). 이런 경우에는 parted
이러한 세부 사항을 알고 있는 이와 같은 것을 사용하는 것이 더 나을 수도 있습니다.
USB 어댑터가 서로 다른 크기를 보고하는 데는 여러 가지 이유가 있습니다. 어댑터는 단순 반올림을 사용하거나 내부 디스크 레이블을 추가할 수 있습니다.