부팅 가능한 CD/DVD 또는 라이브 USB를 생성/구울 수 있고 거기서 부팅/설치할 수 있다는 것을 알고 있습니다. 하지만 현재 GNU/Linux를 실행 중이고 하드 드라이브에 다른 GNU/Linux ISO 파일을 설치하고 싶다고 가정해 보겠습니다. 하드 드라이브의 ISO에서 직접 부팅하여 해당 GNU/Linux 운영 체제를 설치해 볼 수 있습니까? ?
답변1
예, 부트로더 메뉴에 메뉴 항목을 추가하면 됩니다 GRUB
.
편집하여 사용자 정의 GRUB 메뉴 항목을 추가할 수 있습니다 /etc/grub.d/40_custom
.
사용자 정의 메뉴 항목 예:
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Trisquel ISO" {
set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
initrd (loop)/casper/initrd
}
설명 및 설명:
주문하다
set
ISO 파일의 경로를 변수(여기서는 )에 저장하는 데 사용됩니다isofile
.loopback
파일 시스템 이미지에서 장치를 만드는 데 사용됩니다. 이렇게 하려면 장치와 이미지 파일을 지정해야 합니다. 여기서는(hd0,5)$isofile
which를(hd0,5)
사용 하여다섯디스크의 파티션입니다.- 참고: 에서
(hd0,5)
첫 번째
숫자는 (여기서: 0 = 첫 번째 장치 )부터 시작하는 장치 번호를 나타내고, 두 번째 숫자는 (여기서: 5 = 5번째 파티션)부터 시작하는 파티션 번호를 나타냅니다. 이것은 의미한다0
1
/dev/sda5
- 그리고 변수에는
$isofile
ISO 파일의 경로가 있습니다. 그래서 마침내 가 되었습니다(hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
. - 자세한 내용은 다음을 참조하세요.장치를 지정하는 방법그리고문서.
- 참고: 에서
linux
이 명령은 Linux 커널(가상 기기) 파일에서. ISO에 Linux 커널 경로를 입력합니다.커널 예제의 경로를 얻으려면 ISO 내용을 읽고 추출하십시오.
$ 7z l trisquel_7.0_i686.iso | grep vmlinu 2014-10-29 21:41:43 ..... 5841680 5841680 casper/vmlinuz 2014-11-03 00:45:09 ..... 5844176 5844176 casper/vmlinuz.netinst
그래서
/casper/vmlinuz
여기에 사용되었습니다.
initrd
이 명령은 Linux 커널 이미지의 초기 램디스크를 로드하고 메모리의 Linux 설정 영역에서 적절한 매개변수를 설정하는 데 사용됩니다.- 초기화 프로그램임시 루트 파일 시스템을 메모리에 로드하는 방식입니다.
initrd
ISO에 경로를 입력하세요 . 경로를 얻으려면 ISO의 내용을 읽고 추출하십시오
initrd
.$ 7z l trisquel_7.0_i686.iso | grep initrd 2014-11-03 00:45:19 ..... 16851900 16851900 casper/initrd 2014-11-03 00:45:09 ..... 9398592 9398592 casper/initrd.netinst
- 초기화 프로그램임시 루트 파일 시스템을 메모리에 로드하는 방식입니다.
boot=casper iso-scan/filename=$isofile noprompt noeject
GNU/Linux 배포판에만 해당될 수 있고 다른 Linux 제품군에 따라 달라질 수 있는 추가 매개변수입니다 . 다양한 시리즈/릴리스에 대한 일부 구성을 찾을 수 있습니다.여기.참고: 일부 배포판은 사용된 알고리즘/압축을 사용
initrd.gz
하거나 이에 의존합니다.initrd.lz
편집이 완료되면 /etc/grub.d/40_custom
명령을 통해 GRUB를 업데이트해야 합니다 update-grub2
. 다시 시작하면 GRUB 화면에 추가한 사용자 정의 메뉴 항목을 찾을 수 있습니다. GNU/Linux 배포판의 라이브 환경을 사용할 수 있습니다.
ISO에서 설치를 수행하려면 설치 프로그램이 마운트된 파티션을 마운트 해제해야 할 수 있습니다. 즉, 다른 시스템이 설치된 경우 /isodevice
그게 전부입니다 umount -l /isodevice
.