CentOS7 가상 머신이 있습니다.
파티션 크기를 조정하기 위해 삭제하는 동안 fdisk /dev/sda
기본 파티션을 삭제하고 다시 생성하는 동안 기본 파티션 대신 확장 파티션을 선택했습니다. 변경사항이 저장되고 다시 시작되었습니다.
모든 작업은 아래와 같으며, 시스템이 시작되면 콘솔에 다음과 같은 내용이 표시됩니다.
시스템을 다시 부팅 가능하게 만들고 무슨 일이 일어나고 있는지 더 잘 이해할 수 있는 방법을 찾고 있습니다.
1. 콘솔 출력:
[ OK ] Started Show Plymouth Boot Screen.
[ OK ] Reached target Paths.
[ OK ] Started Forward Password Requests to Plymouth Directory Watch.
[ OK ] Reached Target Basic System.
....
dracut-initqueueu[262] Warning: dracut-initqueueu timeout - starting timeout scripts
....
Starting Dracut Emergency Shell...
Warning /dev/mapper/rootvg-rootlv does not exist
Warning /dev/rootvg/rootlv does not exist
2. 가상 머신에서 수행된 작업으로 인해 가상 머신이 시작되지 않습니다.
[root@Server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 1G 0 part
│ └─swapvg-swaplv 253:1 0 1G 0 lvm [SWAP]
└─sda3 8:3 0 23G 0 part
└─rootvg-rootlv 253:0 0 23G 0 lvm /
sr0 11:0 1 1024M 0 rom
[root@Server ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 26.8 GB, 26843545600 bytes, 52428800 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
Disk label type: dos
Disk identifier: 0x000ea6ab
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 4202495 1051648 8e Linux LVM
/dev/sda3 4202496 52428799 24113152 8e Linux LVM
Command (m for help): d
Partition number (1-3, default 3):
Partition 3 is deleted
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): e
Partition number (3,4, default 3):
First sector (4202496-52428799, default 4202496):
Using default value 4202496
Last sector, +sectors or +size{K,M,G} (4202496-52428799, default 52428799):
Using default value 52428799
Partition 3 of type Extended and of size 23 GiB is set
Command (m for help): t
Partition number (1-3, default 3):
Hex code (type L to list all codes): 8e
You cannot change a partition into an extended one or vice versa.
Delete it first.
Type of partition 3 is unchanged: Extended
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@Server ~]# reboot
답변1
무슨 일이에요?
공들여 나열한 것확장 파티션 부트 레코드기본 파티셔닝과 달리 양파 계층이므로 파티션 내에 파티션이 생기고 데이터 오프셋이 달라집니다.
또한 내부적으로 파티션을 추가하지 않고(추가하지 마세요!) 확장 파티션을 생성하는 것은 쓸모가 없습니다. 운영 체제는 사용 가능한 다른 스토리지 컨테이너(예:논리 볼륨 관리자당신은 사용하고 있습니다. Linux는 또한 EPBR 내에서 5번째 파티션부터 시작하여 새 파티션의 이름을 지정합니다(예: /dev/sda5
). 이는 LVM이 자동으로 감지되는 한 큰 문제를 일으키지 않습니다. 이후에 확장 유형 파티션을 생성하지 않았다는 사실은 추가 손상을 방지할 수 있습니다.
무엇을 해야 할까요?
가상 머신이고 간편하기 때문에 추가 작업으로 인해 추가 손상이 발생할 경우를 대비해 전체 디스크 이미지를 포함하여 먼저 백업을 만들어야 합니다.
변경 사항을 되돌리고 이전처럼 기본 파티션을 다시 사용해야 합니다. 즉, 실제 데이터 덮어쓰기가 실제로 발생하지 않기를 바라면서 파티션을 삭제하고 이전 오프셋과 길이를 사용하여 해당 위치에 다시 생성해야 합니다(이는 보장되지 않습니다). 이 기본 파티션을 있는 그대로 복원하는 데 필요한 모든 데이터가 있습니다.
기본에서 확장으로 쉽게 전환할 수 없습니다.디스크 드라이브도구는 사용자가 발견한 대로 경고하고 작동합니다.
시작할 수 없으면 어떻게 해야 합니까?
문제가 있는 실제 시스템을 처리하는 것과 마찬가지로 부팅되지 않으면 복구 디스크를 사용하십시오. 모든 Live CD/USB 배포는 반드시 CentOS일 필요는 없지만 Debian Live CD 이미지도 가능합니다.
이러한 라이브 디스크 이미지를 가져와서 가상 머신에 디스크로 연결하고 부팅 가능하게 만들어야 합니다. 그런 다음 시작하고 메뉴를 찾아 쉘을 얻고 루트가 된 다음 디스크를 찾으십시오. 예를 들어 이 작업이 수행된 방법에 따라 이름이 변경되었거나 변경되지 않았을 수 있으며 /dev/sda
다시 실행하십시오. 사용할 수 없는 경우 해당 명령이나 이에 상응하는 명령을 얻을 수 있는 방법을 찾으십시오. 최신 도구 버전에서는 파티션/파일 시스템 서명을 지우는 기능을 제공하지만 아무 것도 지우는 것을 허용하지 않으므로 주의하세요./dev/sdb
fdisk
fdisk