GRUB 및 내부 HDD를 사용하여 iso 파일에서 부팅하는 방법(외부 USB/CD 없이)
파티션 생성
내부 하드 드라이브가 2개 있고 보조 드라이브를 축소하여 새 파티션에 더 많은 공간을 할당할 것입니다. 사용 가능한 메모리가 있는 경우 이 단계를 건너뛸 수 있습니다.
디스크를 열고 파티션 크기를 조정하십시오.
내부 파티션을 32GB로 남겨둡니다.
여유 공간에 새 파일
ext4
을 만들고 원하는 이름을 지정하세요 :)ISO 파일 복사
1단계, iso 파일을 방금 만든 새 디스크에 복사합니다.
2단계, 없음.
데이터 준비
다음 및 마지막 단계에서는 grub을 구성해야 하며 이를 위해 몇 가지 데이터를 수집해야 합니다.
lsblk | grep disk
를 실행하여 하드 드라이브를 나열할 수 있습니다:
/dev/hda
refers to the first IDE hard drive
/dev/sda
refers to the first SCSI or SATA hard drive.
If you use a NMVe SSD, it might be named as/dev/nvme0n1
,/dev/nvme1n1
and so on.
But in GRUB, the first hard drive is always referred to as hd0, no matter what the interface type is
다음 명령
sudo parted -l
을 실행하고 iso의 파일 파티션 번호.iso 파일을 찾아보고(iso를 마운트하거나 아카이브 관리자를 열면 됨) 원하는 linuz .efi 파일 및 이미지 파일을 찾습니다.
예를 들어:
우분투 설정:
/casper/vmlinuz
및 /casper/initrd
아치 설정/arch/boot/x86_64/vmlinuz-linux
및 /arch/boot/x86_64/initramfs-linux
GRUB 구성
즐겨 사용하는 텍스트 편집기를 사용하여 다음 행을 추가하십시오.
사용자 지정 구성 파일:
sudo vi /etc/grub.d/40_custom
(파일이 존재하지 않는 경우/etc/grub.d/40_custom
및update-grub 실행 파일 설치, grub-disk를 설치하십시오)
다음 줄을 추가합니다.
menuentry "{{menu entry name}}" {
insmod ext2
set isopartition=hd{{hdd number}},{{partition number}}
set isofile="{{iso file path (relative to hdd)}}"
loopback loop (hd{{hdd number}},{{partition number}})$isofile
linux (loop){{iso's vm linuz efi file path}} img_dev=/dev/disk/by-uuid/$isouuid img_loop=$isofile
initrd (loop){{iso's ram memory image file path}}
}
작업 예제(아치 리눅스)
menuentry "archlinux-2022.07.01-x86_64.iso" {
insmod ext2
set isopartition=hd1,2
set isofile="/iso/archlinux-2022.07.01-x86_64.iso"
loopback loop (hd1,2)$isofile
linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=/dev/disk/by-uuid/$isouuid img_loop=$isofile
initrd (loop)/arch/boot/x86_64/initramfs-linux.img
}
우분투:
menuentry "ubuntu-20.04.2.0-desktop-amd64.iso" {
insmod ext2
set isofile="/iso/ubuntu-20.04.2.0-desktop-amd64.iso"
loopback loop (hd1,2)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash
initrd (loop)/casper/initrd
}
menuentry: GRUB2 메뉴 항목, 원하는 대로 이름을 지정합니다.
insmod: 모듈을 삽입합니다. ISO 파일은 ext4 파티션에 저장되어 있으므로 ext2 모듈이 필요합니다.
set isofile: ISO 이미지 파일의 경로를 지정합니다.
루프백: ISO 파일을 마운트합니다. hd0은 컴퓨터의 첫 번째 하드 드라이브를 의미하고 5는 ISO 파일이 5번째 디스크 파티션에 저장됨을 의미합니다.
linux 명령은 지정된 경로에서 Linux 커널을 로드합니다. casper/vmlinuz.efi는 Ubuntu ISO 이미지 내부의 Linux 커널입니다.
initrd: initrd 명령은 지정된 경로에서 초기 ramdisk를 로드합니다. linux 명령이 실행된 후에만 사용할 수 있습니다. 초기 램디스크는 RAM에 마운트된 최소 루트 파일 시스템입니다. casper/initrd.lz는 Ubuntu ISO 이미지 내부의 initrd 파일입니다.
다음으로 해야 할 일은 다음 명령
sudo update-grub
을 실행하고 재부팅하는 것입니다.모두 완료:)
Reference
이 문제에 관하여(GRUB 및 내부 HDD를 사용하여 iso 파일에서 부팅하는 방법(외부 USB/CD 없이)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/oryaacov/how-to-boot-from-iso-file-using-grub-internal-hdd-without-external-usbcd-4a09텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)