500GB USB 하드 드라이브가 있습니다.
dd
저는 MBR 데이터 삭제, Windows 내부 HD 복사, 파티션 삭제 등 cmd 를 조작해 왔습니다 .
fdisk -l
반품
Disk /dev/sdc: 10MiB, 10485760 bytes, 20480 sectors
Units: sectors of 1 * 512 bytes = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk Identifier: 8xb77d52b7
Device Boot Start End Blocks Id System
...
/dev/sdc1 * 2048 718847 358400 7 HPFS/NTFS/exFAT
/dev/sdc2 718848 81922047 40601600 7 HPFS/NTFS/exFAT
lsblk
반품
NAME MAJ:MIN RM SIZE RO TYPE
sda 0:0 0 465.9G 0 disk
>^sda1 0:1 0 350M 0 part
>^sda2 0:2 0 38.7G 0 part
sdc 8:32 0 465.8G 0 disk
loop0 7:0 0 275.1M 0 loop /livemnt/squashfs
lsblk
fdisk -l
10MiB를 표시 하면서 465.8G를 표시합니다.
HD가 그것이기 때문에 나는 그것으로 많은 것을 할 수 없습니다... 이와 같은 명령조차도 dd if=/dev/sda of=/dev/sdc bs=4096
소스에서 대상까지 최대 10MB의 데이터만 허용합니다...if=
of=
cat /dev/sda > /dev/sdc
반품
cat: write error: no space left on device
나는 parted, fdisk /dev/sdc, gdisk 등과 같은 도구를 사용하여 4시간 동안 이 문제를 처리해 왔습니다. 이것이 정말 그렇게 어렵습니까?
HD를 500GB 상태로 복원하는 방법이 있어야 합니다...
확인/dev/sdc외장 HDD입니다. USB HD를 분리했다가 다시 연결하고 다음 명령을 실행했습니다.
dmesg | tail
반품
[sdc] Attached SCSI disk
답변1
MBR(일명 "디스크 레이블 유형: dos")은 디스크 크기(또는 이전 실린더/섹터/헤드 수)를 직접 언급해서는 안 됩니다.
https://en.wikipedia.org/wiki/Master_boot_record#Sector_layout
또한 커널은 장치의 손상된 MBR을 기반으로 블록 장치에 대한 쓰기를 제한해서는 안 됩니다. 따라서 커널이나 하드웨어가 난독화됩니다. 그래도 걱정됩니다 :).
no space left on device
커널에 의해 직접 생성된 것으로 추측됩니다 . 장치가 커널에 오류를 반환하고 액세스가 끝을 지났다고 불평하는 경우(커널이 끝을 지나지 않았다고 생각하기 때문에 발생함) 커널이 일반 IO 오류를 반환하고 있는 것으로 의심됩니다. 이 특정 장치 오류가 커널 로그( )에 표시되지 않으면 dmesg
놀랄 것입니다 .
신기하게도 lsblk
AFAICT와 fdisk
AFAICT는 약간 다른 방법을 사용하지만 AFAICT는 둘 다 커널에 캐시된 값을 읽습니다. 계속해서 다른 값을 얻는다면 커널에 문제가 있는 것 같습니다. fdisk -l
값을 읽기 전에 다시 스캔을 요청할 수 있습니다. 그러나 따라잡기 게임을 하는 것처럼 들리 lsblk
므로 fdisk -l
이 차이는 중요하지 않습니다.
하나는 내가 간직할게근소한시스템에 대한 의심. ("중요한 데이터의 독립적인 백업을 유지하는 것이 좋은 습관이 될까요?" 의문).