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/sda
CentOS ISO 파일과 전혀 관련이 없는 디스크입니다.
게다가 파티션은 파일 시스템 파티션이 아니기 때문에물리적 볼륨(LVM이라고도 함)에는 직접 존재하는 파일 시스템이 없습니다.
해당 내용에 액세스하려면 pvscan
시스템의 모든 물리 볼륨 검색을 사용하고 vgchange -ay
모든 볼륨 그룹을 활성화한 다음 볼륨 그룹 및 논리 볼륨 목록을 vgs
확인해야 합니다.lvs
컨텐츠는 특별한 이름으로 액세스되므로 /dev/<vgname>/<lvname>
이름이 지정된 볼륨 그룹 foo
과 이름이 지정된 논리 볼륨 의 경우 bar
이름은 이 됩니다 /dev/foo/bar
.
따라서 귀하가 설치한 것은 /dev/foo/bar
가 아닙니다 /dev/sda2
.