GPT диски

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Баррамббия
Активист
Сообщения: 10
Зарегистрирован: 14 сен 2012, 20:58
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Баррамббия » 16 сен 2012, 21:22

Бляха муха, я вот как раз эту прогу пускал, и ... хз, попозже поставлю винт и сделаю скрин.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 17 сен 2012, 00:31

Баррамббия писал(а):Люди, а может быть этот вопрос вынести в единую тему, а то вот в три страницы раздули )).
Вынести. ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 17 сен 2012, 00:51

Olej писал(а): - в MBR содержится собственно код начального загрузчика (и таблицу 4-х partition), что можно легко рассмотреть (для HDD пример):
Смотрим:

Код: Выделить всё

bash-4.2$ man qemu
...
DESCRIPTION
       The QEMU PC System emulator simulates the following peripherals:
...
QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL VGA BIOS.
Т.е. загрузка с образа диска в QEMU осуществляет эмулятор BIOS, и, значит, в соответствии с стандартом MBR диска.
Никакого упоминания о загрузке EFI / UEFI нигде в документации QEMU не встречается.
(http://wiki.qemu.org/Manual , http://qemu-buch.de/e/Content , ... )

Но это неизбежно, что срочно все разработчики виртуальных машин должны будут добавить поддержку UEFI загрузки с GPT дисков.

Вот и интересно: кто-то, в каком-то из менеджеров виртуальных машин это уже сделал?
Может кто встречал...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 10 янв 2013, 17:12

Опубликован (10.01.2013) перевод: Родерик Смит (Roderick Smith), Раскройте весь потенциал дисков большой емкости с помощью GPT и Linux.
Ряд полезных деталей... да и вообще полезно почитать. ;-)
03 июля 2012 г. статья была полностью обновлена автором.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 11 янв 2013, 14:13

Olej писал(а): Ряд полезных деталей... да и вообще полезно почитать. ;-)
Отдельные детали, как это очень часто встречается у зарубежных "популяризаторов", описаны небрежно, и вызывают вопросы... некоторые разработчики утилит, работающих с разметкой диска, толкуют эти вещи по-другому, как мне кажется:
Помимо обостряющейся проблемы с ограничением 2 ТиБ, существуют и другие ограничения MBR, прежде всего невозможность использования более четырех основных разделов. Чтобы обойти это ограничение, можно использовать один основной раздел в качестве placeholder (дословно – хранитель места) (такой раздел называется расширенным разделом), содержащего произвольное число дополнительных разделов, называемых логическими разделами. Тем не менее, такое не очень эффективно и порождает дополнительные проблемы, например, при инсталляции на диск нескольких операционных систем, требующих использования собственных основных разделов.
Но это всё уже не так важно, поскольку относится к уходящей системе MBR, в утилитах для неё что есть то есть, никто из реализаторов ничего нового для MBR делать или изменять уже не будет.

Баррамббия
Активист
Сообщения: 10
Зарегистрирован: 14 сен 2012, 20:58
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Баррамббия » 10 мар 2013, 20:12

Я проверил, и понял - старая Мандрива (2007 и 2008 и 2010) работает с неболее 12-15 дисками, а вот Мандрива 2011 окейно. Я в Мандриве2011 настрогал около 20 разделов, прошло ок, потом ставлю 2007, и стопор. Тогда беру ОпенСусе, и она сама все 22 точки разметила. Вот! Старое ядро не работает с многими разделами. Это я на опыте проверил.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 10 мар 2013, 21:55

Баррамббия писал(а):Я проверил, и понял - старая Мандрива (2007 и 2008 и 2010) работает с неболее 12-15 дисками, а вот Мандрива 2011 окейно. Я в Мандриве2011 настрогал около 20 разделов, прошло ок, потом ставлю 2007, и стопор. Тогда беру ОпенСусе, и она сама все 22 точки разметила.
Так вы определитесь: какую разметку диска вы делаете? MBR или GPT? какой утилитой разметки?
Если бы это было GPT, то а). вы 128 разделов можете создать б). и все они primary, без всяких глупостей с extended & logical.
Баррамббия писал(а):Вот! Старое ядро не работает с многими разделами. Это я на опыте проверил.
А я так думаю, что ядро (версия) здесь абсолютно не при чём. Вы просто в предыдущих версиях (GNU/Linux, но не ядра) просто не можете создать большее число разделов, у вас нет там на то нужного инструмента (утилиты). А раз не можете создать, то и не можете видеть ;-).

Вот здесь и вылазит различие разных частей ОС: GNU & Linux.

P.S. Хотя драйвер блочного устройства и может ограничивать (ограничивает) число разделов. Но это очень легко поправить. См. по этому поводу модуль ядра блочного устройства.
Точнее даже, с вот этого места и далее: модуль ядра блочного устройства. Но число зарезервированных слотов в модуле для отображения (в модуле-драйвере), и возможное число разделов создаваемых на диске MBR - это 2 разные и независимые вещи: не будет одной из них - и другая вам никоим образом не поможет и не пригодится.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 21 мар 2013, 15:22

Вот что интересно обнаружилось относительно GPT-диска:
- размечаю диск gdisk (или parted, или gparted) как GPT и создаю там сколько-то primary разделов... (диском пользовался USB-флешкой);
- теперь хочу почистить диск + создать на нём 1 большой раздел FAT32 с привычной разметкой диска MBR;
- да не тут-то было!:

Код: Выделить всё

bash-4.2$ sudo fdisk /dev/sdc
Welcome to fdisk (util-linux 2.21.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
Команда (m для справки): m
Действие команды
...
   o   create a new empty DOS partition table
...
Команда (m для справки): o
Building a new DOS disklabel with disk identifier 0x814efea5.
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.

Код: Выделить всё

bash-4.2$ sudo fdisk /dev/sdc
Welcome to fdisk (util-linux 2.21.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
...
Поняли что произошло?
- fdisk видит GPT разметку, кричит, что он не умеет с ней работать...
- он может внести изменения в MBR таблицу, но это изменения в резервную MBR таблицу...
- а диск остаётся GPT размеченным, и его эти изменения не касаются ;-)

Как вернуть разметку MBR?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 21 мар 2013, 15:42

Olej писал(а):Как вернуть разметку MBR?
1. У gdisk я такой операции не нашёл ... ни в основных операциях, ни в экспертных (х);

2. У parted/gparted я такой операции не искал ;-)

3. Можно конечно пойти способом ломовым: расформатировать диск как дискету, без разметки на разделы (так чаще всего USB-флешки и продают "ис каропки" ;-) ) ...

Код: Выделить всё

bash-4.2$ sudo mkfs.vfat /dev/sdc
mkfs.vfat 3.0.12 (29 Oct 2011)
mkfs.vfat: unable to open /dev/sdc: Device or resource busy
Его ещё размонтировать надо ... хотя fdisk/gdisk/parted прекрасно курочат диск не размонтируя...

Код: Выделить всё

bash-4.2$ sudo umount /dev/sdc1
bash-4.2$ sudo mkfs.vfat /dev/sdc
mkfs.vfat 3.0.12 (29 Oct 2011)
mkfs.vfat: Device partition expected, not making filesystem on entire device '/dev/sdc' (use -I to override)
bash-4.2$ sudo mkdosfs /dev/sdc
mkdosfs 3.0.12 (29 Oct 2011)
mkdosfs: Device partition expected, not making filesystem on entire device '/dev/sdc' (use -I to override)
2 последних команды - это 2 записи одного и того же ... но оно кочевряжится, и просто так с неразбитым диском дружить не хочет...

Код: Выделить всё

bash-4.2$ sudo mkdosfs -I /dev/sdc 
mkdosfs 3.0.12 (29 Oct 2011)
Сделал...
Перевтыкаем (!) USB:

Код: Выделить всё

bash-4.2$ mount | grep sdc
/dev/sdc on /run/media/olej/CD78-3A7D type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=ascii,shortname=mixed,showexec,utf8,errors=remount-ro,uhelper=udisks2)
bash-4.2$ df | grep sdc
/dev/sdc           3906080            4  3906076            1% /run/media/olej/CD78-3A7D
bash-4.2$ ls -l /run/media/olej/CD78-3A7D
итого 0
bash-4.2$ du -hs /run/media/olej/CD78-3A7D
4,0K	/run/media/olej/CD78-3A7D
Всё!
Можно писать, читать ... 4Gb диск, как и должно быть, VFAT...

Но!

Код: Выделить всё

bash-4.2$ sudo fdisk -l /dev/sdc

WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.


Диск /dev/sdc: 4007 МБ, 4007657472 байт
124 heads, 62 sectors/track, 1018 cylinders, всего 7827456 секторов
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 identifier: 0x00000000

Устр-во Загр     Начало       Конец       Блоки   Id  Система
На диске сохраняется GPT разметка!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GPT диски

Непрочитанное сообщение Olej » 21 мар 2013, 15:59

Olej писал(а): Изображение

Код: Выделить всё

bash-4.2$ sudo umount /dev/sdc
bash-4.2$ sudo time dd if=/dev/zero of=/dev/sdc bs=512 count=34
34+0 записей считано
34+0 записей написано
 скопировано 17408 байт (17 kB), 0,00891303 c, 2,0 MB/c
0.00user 0.00system 0:00.01elapsed 9%CPU (0avgtext+0avgdata 868maxresident)k
40inputs+40outputs (0major+258minor)pagefaults 0swaps
bash-4.2$ sudo fdisk -l /dev/sdc
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
Диск /dev/sdc: 4007 МБ, 4007657472 байт
124 heads, 62 sectors/track, 1018 cylinders, всего 7827456 секторов
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
:shock:

И убеждаемся, что начальная область (LBA0-LBA34) действительно прописана нулями:

Код: Выделить всё

bash-4.2$ sudo hexdump -n 32767 /dev/sdc
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0007ff0 0000 0000 0000 0000 0000 0000 0000 0000
0007fff

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей