にディスクがあるとしましょう/dev/DISK_NAME
。n
このディスクの6番目のパーティションを見つけるための命令があるかどうか疑問に思います。
これが可能なはずですlsblk
。私が考えることができる最善は次のとおりです。
lsblk -nlpo NAME,TYPE /dev/DISK_NAME | awk '/part$/ {print $1}' | grep "[^0-9]n$"
ここでn
最後の grep は問題のパーティション番号を示します。
上記のコマンドは現在私が使用しているArch Linuxマシンに適用され、DISK_NAME=sda
その出力はlsblk -nlpo NAME,TYPE
次のようになります。
/dev/sda disk
/dev/sda1 part
/dev/sda2 part
/dev/sda3 part
/dev/sda5 part
DISK_NAME=nvme0n1
私のコマンドは、出力が次のlsblk -nlpo NAME,TYPE
ようなArch Linuxシステムでも機能します。
/dev/nvme0n1 disk
/dev/nvme0n1p1 part
/dev/nvme0n1p2 part
しかし、これはやや昔ながらの気分になり、任意のディスクで動作するかどうかはわかりません。
これを行うより良い方法はありますか?
ベストアンサー1
これが本当であるという保証はありませんsda1
。 sda4とsda5のみのSSDがあります。それでは、最初のパーティションは起動LBAが最も低いパーティションになりますか?
それともパーティションテーブルの最初のエントリですか?によるとparted -l
、
...
Number Start End Size File system Name Flags
2 316MB 333GB 333GB ext4 /mnt/backup
3 333GB 791GB 457GB ext4 /mnt/filestore
4 791GB 832GB 41.9GB ext4 /run/timeshift/backup
1 832GB 841GB 8590MB ext4 /mnt/music
最初のパーティションはどれですか?そうですか?2(LBAが最も低い)または1(パーティション番号が最も低い)。
古代fdisk -l
のコマンドを好む場合は、[最も低い番号のパーティションが最初に来るように]パーティションテーブルをソートします。