Это довольно новые возможности, документированные в magic(5)
:
use
Рекурсивный вызов именованной магии, начиная с текущего смещения. Если имя именуемой функции начинается с^
то эндианальность магии переключается; если в магии упоминаетсяleshort
например, то она рассматривается какbeshort
и наоборот. Этот полезно для того, чтобы избежать дублирования правил для разной эниантности.
clear
Этот тест всегда истинен и снимает флаг соответствия для данного уровня продолжения. Он предназначен для использовать вместе с тестом по умолчанию.
По "довольно новым":
2014-11-27 18:40 Christos Zoulas
* Allow setting more parameters from the command line.
* Split name/use and indirect magic recursion limits.
2013-04-22 11: 20 Christos Zoulas
* The way "default" was implemented was not very useful
because the "if something was printed at that level"
was not easily controlled by the user, and the format
was bound to a string which is too restrictive. Add
a "clear" for that level keyword and make "default"
void. This way one can do:
>>13 clear x
>>13 lelong 1 foo
>>13 lelong 2 bar
>>13 default x
>>>13 lelong x unknown %x
Не знаю, редко ли это, но это один из разумных способов использовать большие диски на старых машинах. Или когда системная прошивка содержит ошибки и, например, не может правильно вернуться ко второму диску при загрузке программной настройки RAID.
Во-первых, вы должны убедиться, что машина не загружается с EFI. См. «Как узнать, загружаюсь ли я с использованием UEFI? », чтобы проверить.
В Linux вы должны увидеть несколько индикаторов при запускеgdisk -l /dev/DISK
Пример с одного из моих дисков:
# gdisk -l /dev/sdd
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdd: 5860533168 sectors, 2.7 TiB
Model: ST3000VN000-1HJ1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 3F3F7901-A38A-42FF-A7BA-8FBD1C35FB11
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5582 sectors (2.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 259024 125.5 MiB 8300 Linux filesystem
2 260096 517135 125.5 MiB 0700 Microsoft basic data
3 518144 1953524128 931.3 GiB 8300 Linux filesystem
4 1953525760 3907033263 931.5 GiB 8300 Linux filesystem
5 3907035136 5860533134 931.5 GiB 8300 Linux filesystem
128 34 2047 1007.0 KiB EF02 BIOS boot partition
Обратите внимание на другой диск, который я быстро настроил для виртуальной машины.
Командаdiskpart
's list disk
показывает *
в столбце GPT, если диск использует GPT:
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 40 GB 0 B
Disk 1 Online 20 GB 0 B *
К сожалению,list partition
(после выбора диска с помощьюselect disk 1
)два раздела отображаются как «неизвестные»:
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Unknown 4096 KB 17 KB
Partition 2 Unknown 19 GB 5120 KB
, но если вы детализируете их (после select partition 1
), вы получите GUID типа:
DISKPART> detail partition
Partition 1
Type : 21686148-6449-6e6f-744e-656564454649
Hidden : Yes
Required: No
Attrib : 0000000000000000
Offset in Bytes: 17408
и 21686148-6449-6e6f-744e-656564454649
означают загрузочный раздел BIOS. (0fc63daf-8483-4772-8e79-3d69d8477de4
, кстати, это общий раздел Linux ).
Либо в разделе «Управление дисками» выберите диск, выберите «Свойства» и перейдите на вкладку «Тома». Это скажет вам, является ли «стиль раздела» MBR или GPT. К сожалению, нет способа получить типы разделов из управления дисками.
Если у вас есть работающая установка Linux на ПК, вы можете проверить, существует ли каталог /sys/firmware/efi
. Если он существует, значит, на вашем компьютере установлена прошивка EFI и он не находится в режиме совместимости с BIOS. Если каталог отсутствует, машина загружается с использованием устаревшего BIOS.
Схему разбиения можно проверить с помощью fdisk
. Если командаfdisk
p
(«распечатать таблицу разделов» )сообщает «msdos» для типа метки диска, значит, на диске имеется старая -таблица разделов MBR. Если тип метки диска — «gpt», у вас есть диск GPT.