먼저 문제가 어떻게 발생했는지 설명하는 것부터 시작하겠습니다. 이는 나에게 필요한 것이 무엇인지 이해하는 데 도움이 될 것입니다.
몇 달 전에 내 노트북 하드 드라이브가 사망했습니다. 빠른 교체는 할 수 없었지만 다음 날 노트북이 필요했기 때문에 제가 할 수 있는 일은 라우터에서 2.5인치 드라이브를 제거하는 것뿐이었습니다. 라우터는 실제로 OpenBSD 4.9를 실행하는 ATX PC입니다. 이제 빠른 드라이브가 필요하기 때문에 dd
데스크탑 컴퓨터에서 이미지를 생성하고 드라이브를 노트북에 넣고 Fedora를 설치했습니다.
자, 이제 노트북용 교체용 하드 드라이브가 생겼으니 라우터로 돌아가는 하드 드라이브에 설치를 시작하기 전에 처음에 만든 이미지를 어떻게 설치하는지 자문해 보겠습니다. .
요점은 최신 OpenBSD를 새로 설치하고 이미지의 구성 파일 등을 사용할 수 있다는 것입니다. 지금 내가 할 수 있는 유일한 일은 이미지를 디스크에 다시 쓰는 것뿐입니다 dd
. 이것이 효과가 있을 것이지만, 시스템을 업그레이드할 기회도 갖고 싶습니다.
이미지를 만들기 전에 OpenBSD 파티션을 마운트하려고 시도했지만 작동하지 않았고 시간도 거의 없었습니다(오늘 밤에는 몇 시간 밖에 안 남았습니다). 이미지를 다시 디스크에 쓴 다음 마운트를 시도하고 필요한 파일을 복원한 다음 최신 OpenBSD를 설치해야 합니까?
답변1
파티션을 마운트할 수 없는 이유는CD이미지는 이미지가 아니다개인의분할. 서로 다른 파티션에 대한 오프셋이 필요하며 루프 및 오프셋 옵션을 사용하여 설치할 때 이를 사용합니다.
귀하의 경우에는 이미지를 재생한 다음 업그레이드하겠지만 2.5인치를 데스크톱 컴퓨터에 연결하는 방법이나 지금 연결하는 방법을 지정하지 않았습니다. USB를 사용하는 경우 업그레이드에서는 이미지가 다음과 같다고 가정합니다. 내부 SATA 드라이브에서는 USB 2.0과 SATA의 속도 차이로 인해 재생 속도가 더 빨라질 수 있지만 더 많은 작업이 필요합니다.업그레이드시간이 더 오래 걸립니다. 이미지 재생(업그레이드 여부)에는 동일한 시간이 소요됩니다.
재생하기 전에 확대하려면 parted를 사용하여 이미지의 시작 부분을 찾으십시오. parted hd.img
파티션 번호, 시작 및 끝 목록이 제공됩니다. 부팅 정보(예: 12345)를 사용하여 디스크 이미지에 파티션을 마운트할 수 있습니다.
mount -o loop,ro,offset=12345 hd.img /mnt/tmp
데스크탑이 파티션 유형을 인식하지 못하는 경우 파티션 유형을 지정해야 할 수도 있습니다. 그런 다음 해당 정보를 사용하여 새로 설치를 업데이트하고, 파티션을 다시 마운트하고, rw
파티션을 정리하고, 내용을 다시 쓸 수 있습니다. 확실하지 않은 유일한 점은 이것이 ATX 보드의 부트로더를 망칠지 여부입니다. 그러나 디스크에 복원된 시스템을 업그레이드하면 동일한 문제가 발생합니다.
답변2
이것은 나에게 효과적입니다.
losetup -r -P /dev/loop1 openbsd.dsk
그러나 losetup(8)
다음에서:
# losetup --version
losetup from util-linux 2.22.2
그리고 옵션이 있습니다 -P
:
-P, --partscan
force kernel to scan partition table on newly created loop device
파티션 안팎 dmesg(1)
을 볼 수 있습니다 /proc
.
# dmesg
...
[43126.359869] loop1: p4
p4: <openbsd: p5 p6 p7 p8 p9 p10 p11 >
# grep -e loop1 /proc/partitions
7 1 419430400 loop1
259 0 419424988 loop1p4
259 1 208845 loop1p5
259 2 265041 loop1p6
259 3 160650 loop1p7
259 4 1052240 loop1p8
259 5 4192960 loop1p9
259 6 522112 loop1p10
259 7 413023104 loop1p11
이전 버전에서는 옵션이 losetup(8)
지원되지 않습니다 -P
.