가상 디스크(1024MB)를 만들었습니다.
~$ dd if=/dev/zero of=MyDrive.img iflag=fullblock bs=1M count=1024 && sync
사례 1:
이제 구성하겠습니다.헤어졌다MyDrive.img 파티션/형식:
~$ parted MyDrive.img
(parted) mklabel msdos
(parted) mkpart primary NTFS 1 1024
(parted) align-check optimal 1
결과:
(parted) print
Model: (file)
Disk /home/user/test/MyDrive.img: 1074MB
Sector size (logical / physical): 512B / 512B
Table of partitions: msdos
Disk Flags:
Start Number End Size Type File system Flags
1 1049kB 1024MB 1023MB primary ntfs lba
~$ sudo losetup loop1 MyDrive.img
~$ sudo -H gparted /dev/loop1
여태까지는 그런대로 잘됐다. 이제 질문은 ...
사례 2:
명령줄(터미널, parted 외부)에서 "parted"를 시작하려는 경우 동일한 명령을 사용해도 동일한 결과를 얻지 못합니다.
~$ parted -s MyDrive.img mklabel msdos
~$ parted -s MyDrive.img mkpart primary NTFS 1 1024
~$ parted -s MyDrive.img align-check optimal 1
~$ parted -s MyDrive.img set 1 lba on
나가:
~$ parted -s MyDrive.img print
Model: (file)
Disk /home/user/test/MyDrive.img: 1074MB
Sector size (logical / physical): 512B / 512B
Table of partitions: msdos
Disk Flags:
Start Number End Size Type File system Flags
1 1049kB 1024MB 1023MB primary
질문:NTFS 및 LBA 누락(ext3, ext4 등에서도 마찬가지입니다.)
이유:
~$ parted -s MyDrive.img mklabel msdos # Works
~$ parted -s MyDrive.img mkpart primary NTFS 1 1024 # Not Work
~$ parted -s MyDrive.img align-check optimal 1 # Works
~$ parted -s MyDrive.img set 1 lba on # Not Work
질문:
동일한 출력(사례 1)을 얻기 위해 터미널 명령줄(사례 2)에서 직접 "-s"(--script) 옵션을 사용하여 "parted"를 올바르게 실행하려면 어떻게 해야 합니까?
감사해요
답변1
parted
홀수 단위는 기본적으로 사용되므로 지정하는 것이 가장 좋습니다.
(parted) unit MiB
또는
(parted) mkpart ... 1MiB 1024MiB
파티션이 시작되는 위치를 알고 있다면 정렬 확인을 수행할 필요가 없습니다 1MiB
.
이 set 1 lba on
명령은 실제로 파티션 유형을 Linux로 변경합니다. 이는 다소 놀랄 수 있지만 파티션 유형을 변경하는 것이 일반적입니다(다른 옵션은 parted
, , ...입니다).set
raid
lvm
이 세부 사항을 제외하면 작업 결과는 정확히 동일합니다. 출력의 차이는 단순히 광학의 문제입니다.
. (*) parted
아마도 파티션뿐만 아니라 파일 시스템 자체를 생성하는 데 사용되었던 오래된 잔재일 것입니다ntfs
서로 붙어 있으 려면 실제로 mkntfs
이렇게 해야 합니다.
상호작용 방법:
# dd if=/dev/zero of=MyDrive.img iflag=fullblock bs=1M count=1024 && sync
# parted MyDrive.img
GNU Parted 3.2
Using /dev/shm/MyDrive.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
이 시점에서 다른 방법을 검사하고 비교할 수 있도록 복사본을 만들었습니다.
(parted) ^Z
[1]+ Stopped parted MyDrive.img
# cp MyDrive.img MyDrive-Copy.img
# fg
앞으로:
(parted) mkpart primary NTFS 1 1024
(parted) align-check optimal 1
1 aligned
(parted) print
Model: (file)
Disk /dev/shm/MyDrive.img: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1024MB 1023MB primary ntfs lba
표시되지만 ntfs
다시 lba
인쇄되고 사라집니다.
# parted MyDrive.img
GNU Parted 3.2
Using /dev/shm/MyDrive.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: (file)
Disk /dev/shm/MyDrive.img: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1024MB 1023MB primary
터미널 명령을 사용하는 두 번째 방법은 복제본에서 실행하는 것입니다.
# parted MyDrive-Copy.img mkpart primary NTFS 1 1024
# parted MyDrive-Copy.img align-check optimal 1
1 aligned
# parted MyDrive-Copy.img print
Model: (file)
Disk /dev/shm/MyDrive-Copy.img: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1024MB 1023MB primary
실제로 어떤 차이가 있나요?
# cmp -l MyDrive.img MyDrive-Copy.img && echo Identical || echo Different
Identical
(복사 방법을 사용하지 않으면 사용할 때마다 무작위이기 때문에 서로 다른 디스크 식별자를 갖게 됩니다 mkpart
. GPT 파티션을 사용하면 각 개별 파티션에도 고유한 PARTUUID가 있으므로 이 방법은 다른 파티션 구성표에서 작동하지 않습니다. 다른 바이트가 무엇을 나타내는지 확인합니다.)
그래서 당신은하다set
명령이 다르지 않는 한(첫 번째 예에서는 그렇지 않음) 결국 동일한 결과를 얻습니다.
(*)
혼란을 없애기 위해 mkntfs
파티션을 나눈 후 parted
NTFS가 감지되고 set 1 lba on
Linux는 더 이상 파티션 유형으로 설정되지 않습니다. 이는 또한 디스크의 임의 데이터에 대해 파티션 테이블에서 임의의 결과를 얻을 수 있음을 의미합니다.
따라서 결국에는 NTFS를 지정하는 것이 합리적일 수 있습니다 mkpart
. parted
이 유형을 기억하세요현재 세션의 경우파티션 유형을 선택할 때 적절한 조치를 취하십시오. 일단 터미널로 변환되면 하나의 명령으로 모든 작업을 수행하는 것이 가장 좋습니다.
# parted MyDrive.img \
mklabel msdos \
mkpart primary NTFS 1 1024 \
set 1 lba on \
align-check optimal 1 \
print
Model: (file)
Disk /dev/shm/MyDrive.img: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1024MB 1023MB primary ntfs lba