我創(chuàng)建了我的虛擬磁盤(1024MB):
~$dd if=/dev/zero of=MyDrive.img iflag=fullblock bs=1M count=1024 && sync
情況1:
現(xiàn)在我要用parted內(nèi)部配置它來分區(qū)/格式化MyDrive.img:
~$parted MyDrive.img
(parted) mklabel msdos
(parted) mkpart primary NTFS 1 1024
(parted) align-check optimal 1
結(jié)果:
(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
Verifying partition:
~$sudo losetup loop1 MyDrive.img
~$sudo -H gparted /dev/loop1
到現(xiàn)在為止還挺好.現(xiàn)在問題……
案例2:
如果我想從命令行啟動(dòng)“parted”(在終端;在parted之外),使用相同的命令,我得不到相同的結(jié)果:
~$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等也會(huì)發(fā)生同樣的事情)
原因:
~$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
題:
如何直接從終端(案例2)的命令行中使用選項(xiàng)“-s”( – script)正確執(zhí)行“parted”以獲得相同的輸出(案例1)?
謝謝 解決方法: parted默認(rèn)使用奇數(shù)單位,因此最好指定它.
(parted) unit MiB
要么
(parted) mkpart ... 1MiB 1024MiB
如果您知道分區(qū)以1MiB開始,則無需進(jìn)行對(duì)齊檢查.
set 1 lba on命令實(shí)際上將分區(qū)類型更改為L(zhǎng)inux.這可能有點(diǎn)意外,但是parted的設(shè)置更改分區(qū)類型是正常的(其他選項(xiàng)是raid,lvm,…).
除了這些細(xì)節(jié),您的操作結(jié)果完全相同.輸出的差異僅僅是光學(xué)問題.
它可能是用于創(chuàng)建文件系統(tǒng)本身而不是僅用于分區(qū)的舊分區(qū)的殘余.(*)如果你想要ntfs堅(jiān)持,你實(shí)際上必須使用mkntfs.
您的互動(dòng)方式:
# 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
我此時(shí)創(chuàng)建了它的副本,以便我們檢查并比較其他方法:
(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但再次打印它已經(jīng)消失了:
# 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
使用終端命令的第二種方法,在副本上執(zhí)行:
# 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
實(shí)際上有什么不同嗎?
# cmp -l MyDrive.img MyDrive-Copy.img && echo Identical || echo Different
Identical
(如果沒有復(fù)制方法,它們會(huì)有不同的磁盤標(biāo)識(shí)符,因?yàn)槊看文鉳kpart它都是隨機(jī)的.使用GPT分區(qū),每個(gè)單獨(dú)的分區(qū)也會(huì)有一個(gè)唯一的PARTUUID,因此該方法不適用于其他分區(qū)方案,或者你必須檢查不同的字節(jié)代表什么.)
所以,你總是得到相同的結(jié)果,除非命令不同(你的第一個(gè)例子中沒有設(shè)置).
(*)
為了使混淆完美,在分區(qū)上的mkntfs之后,parted檢測(cè)到NTFS存在并設(shè)置1 lba on不再將Linux設(shè)置為分區(qū)類型.這也意味著磁盤上的隨機(jī)數(shù)據(jù)可能會(huì)在分區(qū)表中得到隨機(jī)結(jié)果.
所以當(dāng)你mkpart畢竟可能有一點(diǎn)指定NTFS. parted會(huì)記住當(dāng)前會(huì)話的此類型,并在選擇分區(qū)類型時(shí)采取相應(yīng)措施.轉(zhuǎn)換到終端,最好在一個(gè)命令中完成所有操作.
# 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
來源:https://www./content-3-391851.html
|