4KB보다 큰 블록 크기로 파일 시스템을 마운트하려면 어떻게해야합니까?


18

WD Mybook Live NAS에서 3TB 하드 디스크를 꺼 냈습니다. 파티션 테이블은 다음과 같습니다.

Model: ATA WDC WD30EZRS-11J (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 3      15.7MB  528MB   513MB                primary
 1      528MB   2576MB  2048MB  ext3         primary  raid
 2      2576MB  4624MB  2048MB  ext3         primary  raid
 4      4624MB  3001GB  2996GB  ext4         primary

그래서 파티션 4 (큰 것)에 액세스하려고합니다.

root@john-desktop:~/linux-3.9-rc8# mount -t ext4 /dev/sdb4 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdb4,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Dmesg 출력 :

[ 2058.085881] EXT4-fs (sdb4): bad block size 65536

이것은 충분히 공평합니다. 내가 알 수있는 한 내 커널은 4K 이상의 블록 크기를 지원하도록 구성되어 있지 않습니다.

내 질문은 더 큰 블록 크기의 파티션을 마운트 할 수 있도록 커널 구성에서 어떤 심볼을 검색해야합니까? 나는 이것을 위해 구글을 our이 뒤졌고, 나는 전에 옵션을 보았지만 최신의 안정적인 커널 소스에서 언급 할 수 없다고 생각했다.

편집 : hdparm의 전체 하드 디스크 정보 : http://pastebin.com/hDdbUzjd

편집 : dumpe2fs 출력 :

Mount count:              0
Maximum mount count:      30Last checked:             Wed May 30 15:22:14 2012Check interval:           15552000 (6 months)Next check after:         Mon Nov 26 14:22:14 2012Lifetime writes:          319 GBReserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      cd7a28a0-714c-9942-29f4-83bca1209130
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             2048M
Journal length:           32768
Journal sequence:         0x00010146
Journal start:            0

mount 명령에 블록 크기를 전달하면 아무 것도 수행되지 않습니다. mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt .... bs 옵션은 소수의 파일 시스템에서만 지원되며 확장 파일 시스템에서는 지원되지 않습니다. .)
John Hunt

dumpe2fs -h해당 볼륨 의 출력 은 무엇입니까 ? mke2fs의 2012 맨 페이지에 "유효한 블록 크기 값은 블록 당 1024, 2048 및 4096 바이트입니다." 4096에서 65536으로 상당히 점프.
Hauke ​​Laging

@HaukeLaging-출력을 추가했습니다 :)
John Hunt


실제로 솔루션을 제공하지 않고 모호한 추론을 제공하는 @jofel.
존 헌트

답변:


19

Woohoo, 나는 그것을 해결했다 :)

짧은 대답은 심각한 커널 해킹없이 말할 수있는 한 x86 Linux 시스템에 4k 이상의 블록 크기 장치를 마운트 할 수 없다는 것입니다.

그러나 fuse-ext2를 사용하여 디스크를 마운트하는 임시 해결책이 있습니다.

fuseext2 -o ro -o sync_read /dev/sdb4 /mnt/

(아마도 fuseext2를 apt-get해야 할 것입니다 ..)

처음으로 완벽하게 작동합니다!

이것은 기본적으로 사람들이 MyBook Live 디스크를 복구하는 방법입니다.

Howto 블로그 게시물 여기 : http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-similar/


그러나 커널 페이지 캐시는 블록 크기를 CPU의 페이지 크기로 제한하므로 i386 / amd64의 경우 4k 이상의 블록 크기로 fs를 마운트 할 수 없습니다. 또 다른 대안은 e2tools를 사용하는 것입니다.
psusi

1
감사합니다! 이 방법으로 Seagate Central NAS 드라이브에 액세스 할 수있었습니다.
Tobia

나는이 방법을 2 대의 컴퓨터 (kubuntu 14.04 x86 및 15.10 x64)에서 시도하지만 열린 마운트 폴더의 fuseext2에 의해 정지 및 CPU 사용량이 100 % 증가합니다. 아무도 왜 말해 줄래?
Yura Shinkarev

YShinkarev와 비슷한 경험을 얻었습니다. fuseext2 마운트에 액세스하려고 할 때 매달려 있고 마운트를 해제하려고 할 때 정지합니다. Ctrl + c는 효과가 없습니다 ...
Adam Griffiths

이 자체로 질문에 대답하지 않지만, 당신은 사용하여 데이터를 복구 할 수 있습니다 debugfs /dev/sdXX당신은 다음과 같은 기본 명령을 실행할 수있는 lsrdump안전한 위치에 파일을 복사 할 수 있습니다. 출처 : n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-rescue fuseext2가 멈추기 때문에이 방법을 사용했습니다 ( bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248 )
Alecz 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.