syslinux 및 파티셔닝 이해

syslinux 및 파티셔닝 이해

저는 파티셔닝과 부트로더의 작동 방식을 배우고 특히 이해하려고 노력하고 있습니다. 문제는 내 마음속에 모든 것이 왜곡되어 있다는 것입니다. 결국 나는 더 이상 아무것도 이해하지 못합니다.

, , 를 사용하여 하드 드라이브를 분할하는 방법을 알고 있습니다 fdisk. syslinux를 사용하여 iso 파일(예: ubuntu.iso, arch.iso)을 체인 로딩해 보았습니다.partedgdisk

내 혼란을 설명하기 위해 내가 수행한 작업은 다음과 같습니다. 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 설치"라고 말한 다음 "왜 GPT와 함께 MBR이 필요한가요?"라고 말합니다. MBR은 디스크가 작동하는 데 필요한 것이고, GPT는 MBR 너머에 존재하는(생성된) 파티션 구성표입니다. gparted와 같은 파티션 소프트웨어는 MBR과 GPT를 상호 배타적인 두 가지로 제시합니다. GPT 또는 GPT 부족이 더 정확했을 것입니다. 여전히 디스크의 MBR 내에 정의되어 있는 GPT 이외의 다른 구성표를 사용하는 다른 시스템이 있습니다. 따라서 두 분할 방식 모두에서 더 잘 이해하기 위해 첫 번째 섹터 0-1은 항상 MBR이고 GPT 정의는 그 뒤에 시작됩니다. 우리가 MBR 파티셔닝 및 확장 파티셔닝이라고 부르는 것은 GPT가 없는 것입니다(확장을 구분할 필요가 없으며 파티션의 최소 크기와 디스크 크기에 맞게 최대한 많은 조각을 허용합니다).

MBR은 설치하지 않고 기본적으로 존재하며 거기에 있는 것이 더 낫습니다. 그렇지 않으면 디스크가 쓰레기입니다. grub의 core.img 또는 다음 단계로 이동하는 데 도움이 되는 소프트웨어인 syslinux와 같은 항목을 MBR에 설치합니다. 특정 다른 시스템으로 "재부팅"하는 데 도움이 되는 아주 작은 운영 체제입니다. GPT 체계가 작동하려면 MBR에 GPT 정의가 존재합니다.

/boot/grub 또는 /boot/syslinux가 지워졌거나 아직 생성되지 않은 경우 수동으로 작업을 수행하라는 메시지를 표시하는 것은 *.img 운영 체제입니다. 언젠가 충분히 오랫동안 설치를 어지럽히면 보게 될 것입니다. GRUB> 그 시점에서 도움을 받아보세요. 이해하는 데 도움이 되는 방식은 이 부트로더 운영 체제가 해당 메뉴나 프롬프트를 생성하고 거기에서 grub/syslinux를 특정 대상 운영 체제로 재부팅하도록 지정한다는 것입니다. 재부팅하지 않았다면 부트로더는 프로세스 1 PID1이었을 것입니다.

제가 말하는 내용 중 일부는 100% 정확하지 않을 수도 있지만 96.4%의 Linux 사용자에게는 자신이 원하는 작업을 진행하는 데 도움이 된다고 생각합니다. 부트로더 개발자와 디스크 이미지 백업, 복사, 압축 등을 위한 소프트웨어 작업을 수행하는 사람들에게는 보다 정확한 세부 정보가 필요합니다. 검색하면 디스크의 첫 번째 작은 셀의 문제와 역학, 그리고 다른 모든 것이 존재하려면 무엇이 있어야 하는지에 대한 한 시간짜리 강의를 찾을 수 있습니다. 우리 시스템은 매우 민감한 정보가 담긴 스레드에 걸려 있습니다. 그것은 미로에 대한 지도와 같습니다. 그렇지 않으면 미노타우로스의 간식일 뿐입니다.

관련 정보