
CentOS Linuxバージョン7.2.1511(コア)VMのCentOS-7-x86_64-Minimal-1511.isoで/ dev / sdaデバイスのパーティション1(xfs、boot)をマウントする方法を理解するのに役立ちます。画像には複数のデバイスがあります。このパーティションは2番目のデバイスにあります。最初のデバイスはISOイメージ自体です。
一部のシステム情報
$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
$ uname -a
Linux localhost.localdomain 3.10.0-327.3.1.el7.x86_64 #1 SMP Wed Dec 9 14:09:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ whoami
root
これが私がこれまでにしたことです。
ステップ1。 ISOのダウンロードと確認
$ wget http://ftp.riken.jp/Linux/centos/7.2.1511/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
<output snipped>
$ ls -l CentOS-7-x86_64-Minimal-1511.iso
-rw-rw-r--. 1 jlinoff jlinoff 632291328 Dec 9 15:03 CentOS-7-x86_64-Minimal-1511.iso
$ md5sum CentOS-7-x86_64-Minimal-1511.iso
88c0437f0a14c6e2c94426df9d43cd67 CentOS-7-x86_64-Minimal-1511.iso
$ # matches 88c0437f0a14c6e2c94426df9d43cd67 from http://ftp.riken.jp/Linux/centos/7.2.1511/isos/x86_64/md5sum.txt
ステップ2。 partedを使用して利用可能なデバイスを表示する
$ parted CentOS-7-x86_64-Minimal-1511.iso print devices
/home/jlinoff/work/iso/CentOS-7-x86_64-Minimal-1511.iso (632MB)
/dev/sda (21.5GB)
/dev/mapper/centos-swap (2147MB)
/dev/mapper/centos-root (18.8GB)
/dev/sr0 (59.0MB)
ステップ3。パーティションビュー
$ parted CentOS-7-x86_64-Minimal-1511.iso select /dev/sda unit B print
Using /dev/sda
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21474836480B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1048576B 525336575B 524288000B primary xfs boot
2 525336576B 21474836479B 20949499904B primary lvm
ステップ4。オフセットに基づくパーティション1マウント
$ mkdir -m 0777 /tmp/foo
$ mount -t xfs -o loop,ro,offset=1048576 CentOS-7-x86_64-Minimal-1511.iso /tmp/mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
ステップ5。正しいオフセットを見つけてください。
オフセットが間違っていることが明らかであったので、古いデバイスのエンドポイントをマージして古いファイルシステムに基づいて見つけようとしました。
$ parted CentOS-7-x86_64-Minimal-1511.img select /home/jlinoff/work/iso/CentOS-7-x86_64-Minimal-1511.img unit B print
Using /home/jlinoff/work/iso/CentOS-7-x86_64-Minimal-1511.img
Model: (file)
Disk /home/jlinoff/work/iso/CentOS-7-x86_64-Minimal-1511.img: 632291328B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 196608B 6615039B 6418432B primary
$ bc
1048576 + 6615039
7663615
私はoffset = 7663615とoffset = 6615039を試しました。同じエラーです。
以下はすべてのデバイスの完全なリストです。
$ parted CentOS-7-x86_64-Minimal-1511.iso unit B print all
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0
has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Model: (file)
Disk /home/jlinoff/work/iso/CentOS-7-x86_64-Minimal-1511.iso: 632291328B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 196608B 6615039B 6418432B primary
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21474836480B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1048576B 525336575B 524288000B primary xfs boot
2 525336576B 21474836479B 20949499904B primary lvm
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-swap: 2147483648B
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0B 2147483647B 2147483648B linux-swap(v1)
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-root: 18756927488B
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0B 18756927487B 18756927488B xfs
私は何が間違っていましたか?
答え1
losetup(8)
イメージファイル内のパーティションをスキャンして実際に仮想ブロックデバイスにマッピングするオプション(-P
または)があるため、次のように動作します。--partscan
$ losetup -a
/dev/loop0: []: yourisoimage.iso
...パーティションを参照する他のループデバイスを表示できます。
$ ls /dev/loop*
/dev/loop0
/dev/loop0p1
/dev/loop0p2
/dev/loop-control
次のコマンドを使用して自動的に新しいloopX
デバイスを割り当て、追加のパーティションを検索します。
$ losetup -f -P yourisoimage.iso
次に、対応するループをマウントします。装備-o loop
インストールオプションはありません。
編集する:以下のコメントを読んでみると、もう少し明確な説明が必要なようです。
私の考えで今起こっていることは、あなたが鶏小屋でウサギを探しているということです。
上記のステップ2で見ることができるものは次のリストです。みんなISOファイルのパーティションのリストだけでなく、システムのデバイス。あなたのコマンドには偽の引数(ISOファイル名)が含まれており、parted
すべてのデバイスで表示できるすべてのパーティションを一覧表示します。
実際にやりたいことは/dev/sda2
インストールすることです。物理/dev/sda
CentOS ISOファイルとはまったく関係のないディスクです。
さらに、パーティションはファイルシステムパーティションではないため物理ボリューム(LVMとも呼ばれる)には、直接存在するファイルシステムはありません。
その内容にアクセスするには、pvscan
システムのすべての物理ボリューム検索を使用し、vgchange -ay
すべてのボリュームグループを有効にしてから、ボリュームグループと論理ボリュームのリストをvgs
確認する必要があります。lvs
コンテンツは特別な名前でアクセスされるため、名前付き/dev/<vgname>/<lvname>
ボリュームグループfoo
と名前付き論理ボリュームの場合はbar
名前が続きます/dev/foo/bar
。
したがって、あなたがインストールしたものでは/dev/foo/bar
ありません/dev/sda2
。