Обычно я использую fdisk -l
для просмотра разделов. Я недавно установил Ubuntu 17.10 на компьютер и заметил, что fdisk не показывает мне флаг загрузки, как раньше. Вывод теперь выглядит, например, так:
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 1953523711 1952473088 931G Linux filesystem
Я не смог найти никакой информации о том, почему отсутствует загрузочный столбец или как его вернуть. Любые ссылки / информация по этому поводу?
fdisk --version
дает мне fdisk from util-linux 2.30.1
. У меня есть другой компьютер с версией 2.27 (Ubuntu 16.04), и это показывает мне флаг загрузки.
Это из-за ГПТ.
В моей системе Ubuntu 16.04 LTS fdisk -l /dev/sda
показано следующее:
Disk /dev/sda: xxx GiB, yyyyyyyyyyyyy bytes, zzzzzzzzz 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: gpt**
Disk identifier: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
Device Start End Sectors Size Type
/dev/sda1 2048 616447 614400 300M EFI System
...
Но sudo parted /dev/sda
показывает почти то же самое:
(parted) p
Model: ATA ... (scsi)
Disk /dev/sda: xxxGB
Sector size (logical/physical): 512B/512B
**Partition Table: gpt**
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 316MB 315MB fat32 EFI system partition **boot**, esp
...
Так parted
правильно показывает загрузочный флаг.
Если вам нужно найти эту информацию программно (как это сделал я), эта команда должна помочь вам.
sudo parted -l 2> / dev / null | grep -B7 boot> temp.fil; grep Disk temp.fil; grep boot temp.fil; rm temp.fil
Эта команда выводит примерно такой результат:
Disk /dev/nvme0n1: 120GB
Disk Flags:
1 1049kB 577MB 576MB primary ntfs boot
Для тех, кто не знаком с этими командами, они работают вместе следующим образом:
из man parted
-l, --list
lists partition layout on all block devices
это передается через grep
это было устранено путем перенаправления вывода ошибок на dev / null
с помощью 2> / dev / null
, чтобы исключить сообщение об ошибке, которое мой оптический привод генерировал в parted вывод.
Из man grep
-B NUM, --before-context=NUM
Print NUM lines of leading context before matching lines. Places a line containing a group separator (--) between
contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.
Я выбрал первые 7 строк и перенаправил их во временный файл temp.fil
, чтобы упростить получение нужных мне результатов. Возможно, вам потребуется другое количество строк перед матчем, чтобы получить то, что вам нужно. Каждый ; указывает начало новой команды. grep Disk temp.fil
возвращает строку во временном файле, которая идентифицирует загрузочный диск, а grep boot temp.fil
возвращает строку во временном файле, определяющую загрузочный раздел. rm temp.fil
просто удаляет ранее созданный временный файл.
ПРИМЕЧАНИЕ: Эта командная строка перезапишет любой файл с именем temp.fil
в текущем каталоге, а затем удалит результат. Если это проблема для вас, измените имя соответствующим образом.