CentOS-7-x86_64-Minimal-1511.isoで/dev/sdaパーティションをマウントする方法は?

CentOS-7-x86_64-Minimal-1511.isoで/dev/sdaパーティションをマウントする方法は?

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/sdaCentOS ISOファイルとはまったく関係のないディスクです。

さらに、パーティションはファイルシステムパーティションではないため物理ボリューム(LVMとも呼ばれる)には、直接存在するファイルシステムはありません。

その内容にアクセスするには、pvscanシステムのすべての物理ボリューム検索を使用し、vgchange -ayすべてのボリュームグループを有効にしてから、ボリュームグループと論理ボリュームのリストをvgs確認する必要があります。lvs

コンテンツは特別な名前でアクセスされるため、名前付き/dev/<vgname>/<lvname>ボリュームグループfooと名前付き論理ボリュームの場合はbar名前が続きます/dev/foo/bar

したがって、あなたがインストールしたものでは/dev/foo/barありません/dev/sda2

関連情報