기본 파티션을 복구하여 부팅 가능하게 만들기

기본 파티션을 복구하여 부팅 가능하게 만들기

조심하세요, 초보자 질문입니다... Arch Linux를 두 번째로 설치하는 동안 부팅 가능한 플래그로 첫 번째 파티션을 설정하는 것을 잊어버렸습니다. 데이터를 잃고 싶지 않지만 파티션에 부팅 가능 플래그를 추가하려면 어떻게 해야 합니까? 지금까지 fdisk를 사용했지만 부팅 가능 플래그를 추가하려고 하면 오류가 발생하는 것 같습니다.

[ arch /boot ]# fdisk /dev/sda1

Welcome to fdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.

The device contains 'ext4' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xfaeee4ac.

Command (m for help): print
Disk /dev/sda1: 500 MiB, 524288000 bytes, 1024000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfaeee4ac

Command (m for help): a
No partition is defined yet!

Command (m for help): 

그런 다음 parted를 사용하면 비슷한 오류가 발생합니다(분할된 적이 없거나 잘못 분할된 것으로 생각함 /dev/sda1).

[ blackarch /boot ]# parted /dev/sda1
GNU Parted 3.5
Using /dev/sda1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: Unknown (unknown)
Disk /dev/sda1: 524MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End    Size   File system  Flags
 1      0.00B  524MB  524MB  ext4

(parted) set /dev/sda1 boot                                               
align-check  disk_toggle  mklabel      mktable      print        rescue       resizepart   select       toggle       version
disk_set     help         mkpart       name         quit         resize       rm           set          unit                
(parted) set /dev/sda1 set boot on
Error: Partition doesn't exist.
(parted)             

여기에 해결책이 있나요? 나는 그것이 매우 간단하다고 확신합니다 ...

답변1

/dev/sda파티셔닝 도구를 실행할 때마다 특정 파티션의 장치를 참조하는 대신 전체 디스크 장치를 사용해야 합니다 /dev/sda1.

그렇지 않으면 실제로 파티션 내에 두 번째로 파티션된 테이블을 작성하도록 도구에 요청하게 됩니다. 물론 원할 경우 이 작업을 수행할 수 있지만 가상 머신에서 파티션을 가상 디스크로 사용하려고 계획하고 가상 머신보다 먼저 가상 디스크를 수행하려는 경우와 같이 매우 특별한 상황을 제외하고는 그다지 유용하지 않습니다. 사전 파티션된 경우 완전히 설치됩니다.

분할된 테이블은 일반적으로 자신이 제어하는 ​​실제 파티션 외부에 위치합니다. 따라서 설정하려면부팅 가능에 표시되면 /dev/sda1다음 중 하나를 수행해야 합니다.

fdisk /dev/sda

또는:

parted /dev/sda

GRUB 부트 로더를 사용하여 마스터 부트 레코드에 설치하려는 경우 일반적으로 파티션 부트 플래그를 확인하는 코드가 표준 Windows 마스터 부트 레코드의 부트 코드에 있다는 점에 유의하십시오. GRUB를 MBR에 설치하면 이 코드는 GRUB의 코드로 대체됩니다.시작 플래그를 완전히 무시합니다.그래도.

따라서 GRUB를 사용하려는 경우 부팅 플래그를 설정할 필요가 없으며 시스템 BIOS가 해당 플래그(다소 특이한 경우)를 특별히 확인하지 않는 한 해당 단계를 완전히 건너뛸 수 있습니다.

관련 정보