하드 드라이브에 저장된 ISO 파일로 부팅하는 방법은 무엇입니까?

하드 드라이브에 저장된 ISO 파일로 부팅하는 방법은 무엇입니까?

부팅 가능한 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
}

설명 및 설명:

  1. 주문하다setISO 파일의 경로를 변수(여기서는 )에 저장하는 데 사용됩니다 isofile.

  2. loopback파일 시스템 이미지에서 장치를 만드는 데 사용됩니다. 이렇게 하려면 장치와 이미지 파일을 지정해야 합니다. 여기서는 (hd0,5)$isofilewhich를 (hd0,5)사용 하여다섯디스크의 파티션입니다.

    • 참고: 에서 (hd0,5)번째
      숫자는 (여기서: 0 = 첫 번째 장치 )부터 시작하는 장치 번호를 나타내고, 번째 숫자는 (여기서: 5 = 5번째 파티션)부터 시작하는 파티션 번호를 나타냅니다. 이것은 의미한다0
      1
      /dev/sda5
    • 그리고 변수에는 $isofileISO 파일의 경로가 있습니다. 그래서 마침내 가 되었습니다 (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso.
    • 자세한 내용은 다음을 참조하세요.장치를 지정하는 방법그리고문서.

  3. 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여기에 사용되었습니다.

  4. initrd이 명령은 Linux 커널 이미지의 초기 램디스크를 로드하고 메모리의 Linux 설정 영역에서 적절한 매개변수를 설정하는 데 사용됩니다.

    • 초기화 프로그램임시 루트 파일 시스템을 메모리에 로드하는 방식입니다. initrdISO에 경로를 입력하세요 .
    • 경로를 얻으려면 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
      
  5. boot=casper iso-scan/filename=$isofile noprompt noejectGNU/Linux 배포판에만 해당될 수 있고 다른 Linux 제품군에 따라 달라질 수 있는 추가 매개변수입니다 . 다양한 시리즈/릴리스에 대한 일부 구성을 찾을 수 있습니다.여기.

    참고: 일부 배포판은 사용된 알고리즘/압축을 사용 initrd.gz하거나 이에 의존합니다.initrd.lz

편집이 완료되면 /etc/grub.d/40_custom명령을 통해 GRUB를 업데이트해야 합니다 update-grub2. 다시 시작하면 GRUB 화면에 추가한 사용자 정의 메뉴 항목을 찾을 수 있습니다. GNU/Linux 배포판의 라이브 환경을 사용할 수 있습니다.

ISO에서 설치를 수행하려면 설치 프로그램이 마운트된 파티션을 마운트 해제해야 할 수 있습니다. 즉, 다른 시스템이 설치된 경우 /isodevice그게 전부입니다 umount -l /isodevice.

관련 정보