パーティションデバイスは存在しませんが、fdisk -lに存在します。

パーティションデバイスは存在しませんが、fdisk -lに存在します。

Centos 7.7 では、次のコマンドを実行します。

# dd if=/dev/zero of=/root/500MB.img bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.374844 s, 1.4 GB/s
# losetup --all
# losetup /dev/loop0 ./500MB.img
# losetup --all
/dev/loop0: [64768]:33575036 (/root/500MB.img)
# fdisk -l /dev/loop0

Disk /dev/loop0: 524 MB, 524288000 bytes, 1024000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# fdisk /dev/loop0
[here set partition]
# fdisk -l /dev/loop0

Disk /dev/loop0: 524 MB, 524288000 bytes, 1024000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x2b7a6a60

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1            2048     1023999      510976   83  Linux
#

ただし、/dev/loop0p1はシステムには存在しません。

# pvcreate /dev/loop0p1
  Device /dev/loop0p1 not found.
# ls -ld /dev/loop0p1
ls: cannot access /dev/loop0p1: No such file or directory
# kpartx -l /dev/loop0
loop0p1 : 0 1021952 /dev/loop0 2048
# ls -ld /dev/loop0p1
ls: cannot access /dev/loop0p1: No such file or directory

ループディスクデバイスのみが存在します。

# ls -ld /dev/loop0
brw-rw----. 1 root disk 7, 0 Apr 23 09:31 /dev/loop0

「fdisk -l」に表示されるパーティションはどこにありますか?

アップデート:Stephen Kittのヒントのおかげで修正されました。問題を解決するには、すべての手順を実行してください。

# losetup -d /dev/loop0
# losetup --all
# ls /dev/loop0
/dev/loop0
# fdisk -l /dev/loop0
fdisk: cannot open /dev/loop0: Inappropriate ioctl for device
# fdisk -l ./500MB.img

Disk ./500MB.img: 524 MB, 524288000 bytes, 1024000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x2b7a6a60

      Device Boot      Start         End      Blocks   Id  System
./500MB.img1            2048     1023999      510976   83  Linux
# losetup -P /dev/loop0 ./500MB.img
# losetup --all
/dev/loop0: [64768]:33575036 (/root/500MB.img)
# ls -ld /dev/loop0*
brw-rw----. 1 root disk   7, 0 Apr 23 10:16 /dev/loop0
brw-rw----. 1 root disk 259, 0 Apr 23 10:16 /dev/loop0p1
#

ベストアンサー1

パーティションをスキャンするようにカーネルに指示する必要があります。 1つの方法は、losetupデバイスをマウントする前にパーティションテーブルが作成されたと仮定してを使用することです。

  • fdiskあなたのイメージで実行
  • fdisk -lイメージのパーティションテーブルを確認してください。
  • -Pオプションを追加losetup:losetup -P /dev/loop0 ./500MB.img

最後の手順では、ご覧のようにループデバイスのパーティションを検索します/dev/loop0p1

おすすめ記事