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)을 마운트하는 방법을 알아내는 데 도움이 필요합니다. 이미지에는 여러 장치가 있습니다. 이 파티션은 두 번째 장치에 있습니다. 첫 번째 장치는 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.

관련 정보