특히 파티셔닝과 부트로더가 어떻게 작동하는지 배우려고 합니다. 문제는 내 머리 속에 모든 것이 꼬여 있다는 것입니다. 결국 나는 아무것도 이해할 수 없었다.
fdisk
나는 , 을 사용하여 parted
하드 드라이브를 분할하는 방법을 알고 있습니다 gdisk
. 저는 syslinux를 사용하여 iso 파일(예: ubuntu.iso, arch.iso)을 체인 로드해 보았습니다.
내 혼란을 설명하기 위해 내가 한 일은 다음과 같습니다. Linux 파티션을 만듭니다.
$ gdisk /dev/sdb
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-7821278, default = 36) or {+-}size{KMGTP}:
Last sector (36-7821278, default = 7821278) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): p
Disk /dev/sdb: 7821312 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F7F2BE49-B8D8-4910-8E69-381DEBD954DC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7821278
Partitions will be aligned on 4-sector boundaries
Total free space is 2 sectors (1024 bytes)
Number Start (sector) End (sector) Size Code Name
1 36 7821278 3.7 GiB 8300 Linux filesystem
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
그런 다음 이 파티션을 ext2로 포맷합니다.
$ mkfs.ext2 /dev/sdb1
이제 syslinux를 사용하여 MBR을 설치하고 싶습니다(찾은 튜토리얼이 거의 없음).
$ syslinux -m /dev/sdb1
syslinux: invalid media signature (not a FAT filesystem?)
따라서 FAT 파티션이어야 합니다. 하지만 syslinux가 Fat32, ext2, ext3 및 ext4 파일을 지원한다는 내용을 읽었습니다(https://wiki.archlinux.org/index.php/syslinux#Installation)
1) syslinux가 ext2 파티션을 지원해야 하는데 여기서 문제는 무엇입니까?
그래서 파티션을 Fat32 파티션으로 포맷했습니다.
$ mkfs.vfat -F 32 /dev/sdb1
이제 syslinux MBR 설치가 작동합니다.
$ syslinux -m /dev/sdb1
$ syslinux -i /dev/sdb1
2) MBR을 설치해야 하나요? syslinux는 GPT와 호환되지 않습니까? 내가 읽은 문서에는 더 많은 기본 파티션 생성을 허용하는 등 이보다 GPT
더 많은 이점이 있습니다 . MBR
제가 잘못 이해한 걸까요?
그런 다음 파티션을 부팅 가능한 것으로 표시해야 한다는 것을 알았습니다(http://www.linuxquestions.org/questions/linux-general-1/booting-iso-images-from-a-usb-disk-917161/). 내가 이걸 할 수 있을까 gdisk
? 내 생각에는 매뉴얼에서 시작 플래그에 대해 논의하지 않기 때문에 이것은 불가능합니다. 반면에 fdisk
이 일을 하도록 허락해 주십시오. 그러나 여기에는 또 다른 문제가 있습니다.
$ fdisk /dev/sdb
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
3) gdisk가 자동으로 GPT를 생성합니까?
$ gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
4) 이 MBR은 어디에서 왔습니까? 어떻게 MBR과 GPT가 이렇게 공존할 수 있나요?
보시다시피 파티셔닝에 대해 더 깊이 들어가려고 할 때 모든 것이 뒤섞여 있다는 것을 깨달았습니다. 제 질문에 답변해 주시고 특히 추가 문서를 제공해 주시면 매우 감사하겠습니다.https://wiki.archlinux.org그리고http://www.syslinux.org/wiki실제로 내 이해가 그 어느 때보 다 악화되었습니다. 매우 감사합니다.
답변1
1) syslinux가 ext2 파티션을 지원해야 하는데 여기서 문제는 무엇입니까?
예, Syslinux는 Extlinux를 통해 ext2 fs를 지원합니다. UEFI/EFI 기반 시스템을 사용하는 경우 fat32 파티션이 필요합니다. GPT의 경우에만 fat32 파티션이 필요하지 않으며 기존 파티션만 사용하면 됩니다. 그게 확장인가요?
2) MBR을 설치해야 하나요? syslinux는 GPT와 호환되지 않습니까? 더 많은 기본 파티션 생성을 허용하는 등 GPT가 MBR보다 더 많은 이점을 가지고 있다는 문서를 읽었습니다. 제가 잘못 이해한 걸까요?
무엇을 사용할지는 당신에게 달려 있습니다. msdos와 gpt는 모두 파티션 테이블을 지원합니다.
GPT의 경우 gdisk를 사용하여 레거시 BIOS 부팅 플래그를 설정할 수 있습니다. 부팅 파티션에 레거시 BIOS 부팅 플래그가 있어야 합니다. gdisk 메뉴에서 "x"를 사용하여 전문가 모드로 들어간 다음 "a"를 사용하여 속성을 설정합니다.
3) gdisk가 자동으로 GPT를 생성합니까?
네, 방문하세요http://linux.die.net/man/8/gdisk
방법을 알아보려면 다음을 방문하세요.http://wiki.gentoo.org/wiki/Syslinux
답변2
여기서 문제/혼란은 용어에 있다고 생각합니다. 먼저 "MBR 설치"라고 말한 다음 "MBR과 GPT를 함께 사용하는 이유"라고 말합니다. 디스크가 작동하려면 MBR이 필요하며, GPT는 MBR 외부에 존재(생성)되는 파티션 구성표입니다. 파티션 소프트웨어(예: gparted)는 MBR과 GPT를 상호 배타적인 두 가지로 표시합니다. GPT 또는 그 부족이 더 정확할 것입니다. GPT 이외의 구성표를 사용하지만 여전히 디스크의 MBR에 정의되어 있는 다른 시스템이 있습니다. 따라서 두 분할 방식을 더 잘 이해하기 위해 첫 번째 섹터 0-1은 항상 MBR이고 GPT 정의는 그 뒤에서 시작됩니다. MBR 파티션과 확장 파티션이라고 부르는 것은 GPT가 없는 파티션입니다(확장 파티션을 구별할 필요가 없으므로 파티션의 최소 크기와 가능한 한 많은 파티션을 수용할 수 있는 디스크 크기가 허용됩니다).
MBR이 설치되어 있지 않고 기본적으로 존재하며 거기에 있는 것이 더 좋습니다. 그렇지 않으면 디스크가 쓰레기입니다. grub의 core.img 또는 syslinux에 해당하는 항목과 같은 항목을 MBR에 설치할 수 있으며 이는 다음 단계로 이동하는 데 도움이 될 수 있습니다. 특정 다른 시스템으로 "재부팅"하는 데 도움이 되는 작은 운영 체제입니다. GPT 체계가 작동하려면 GPT 정의가 MBR에 존재합니다.
/boot/grub 또는 /boot/syslinux가 삭제되었거나 생성되지 않은 경우 이러한 *.img 운영 체제는 수동 작업을 수행하라는 메시지를 표시합니다. 설치에 충분한 시간을 투자하시면 언젠가 보실 수 있을 겁니다. GRUB> 이 시점에서 도움을 주려고 합니다. 제가 이해하는 데 도움이 된 방식은 이 부트로더 OS가 해당 메뉴나 프롬프트를 생성한 다음 grub/syslinux를 특정 대상 OS로 재부팅하도록 지정한다는 것입니다. 재부팅하지 않는 경우 부트로더는 프로세스 1 PID1이 됩니다.
제가 말하는 내용 중 일부는 100% 정확하지 않을 수도 있지만 Linux 사용자의 96.4%에게는 자신이 원하는 일을 계속하는 데 도움이 된다고 생각합니다. 부트로더 개발자와 백업, 복제, 압축 디스크 이미지 등과 같은 소프트웨어 작업을 수행하는 사람들에게는 더 정확한 세부 정보가 필요합니다. 검색하면 첫 번째 작은 디스크 단위의 문제와 역학, 그리고 그것이 존재하기 위해 존재해야 하는 모든 것에 대한 한 시간짜리 강의를 찾을 수 있습니다. 우리 시스템은 이러한 매우 민감한 정보로 인해 어려움을 겪고 있습니다. 그것은 미로에 대한 지도와 같습니다. 그렇지 않으면 미노타우로스의 간식일 뿐입니다.