создание разделов на USB-носителе

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

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

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

создание разделов на USB-носителе

Непрочитанное сообщение Olej » 06 июл 2012, 19:40

Забыл.
Прошу подсказки.

1. как, собственно, создать раздел - вопросов нет: fdisk -> создаём раздел ('n') -> если нужно меняем его тип ('t'):

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

[root@notebook mnt]# fdisk /dev/sdb

Команда (m для справки): p

Диск /dev/sdb: 1010 МБ, 1010826752 байт
228 heads, 40 sectors/track, 216 cylinders, всего 1974271 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x83bad06b

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1            2048     1974270      986111+  83  Linux
...
2. Но такой Linux раздел (тип 83) может содержать файловую систему ext2, ext3, ext4, ... + множество ещё других.
А после создания (п.1) не содержит никакой:

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

[root@notebook mnt]# mount -text2 /dev/sdb1 /mnt/usb1/
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
       missing codepage or helper program, or other error
       В некоторых случаях полезная информация может быть
       найдена в syslog - попробуйте dmesg | tail или что-то
       в этом роде
Естественно: диск не размечен (не форматирован по-виндоузному) под структуру используемой FS.

А вот как это сделать? ... что-то я не вспомню - это вопрос №1.

P.S. про gparted мне напоминать не надо, я так и делаю, а вот командой + под самые разные FS...

Попутно:

При создании нового раздела начало (в моём случае) может быть установлено не менее 2048 сектор:

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

...
Номер раздела (1-4, по умолчанию 1): 
Используется значение по умолчанию 1
Первый сектор (2048-1974270, по умолчанию 2048): 2
Значение за пределами диапазона.
- геометрия диска HCS - смотри выше...
- геометрия для USB флешки - фикция + туда можно записать всё, что угодно...
- fdisk (я так понимаю) тупо, на манер HDD, резервирует нулевую дорожку (или нулевой цилиндр?)...
- я никак не сложу: откуда взялась именно такая цифра 2048?
И как fdisk отучить от этого?

Это есть вопрос №2.

Многие флешки "из коробки" размечены в FAT16 как флопики FDD - без разделов, сплошным диском.

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

[root@notebook mnt]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb
/dev/sdb - есть, но /dev/sdb1 - нет.

Есть ли какие особенности такого использования, особенно для разметки отличной от FAT16 (например ext2)?
Нужны там вообще разделы?
Это будет вопрос №3.

dmitriev
Писатель
Сообщения: 461
Зарегистрирован: 12 янв 2009, 19:36
Контактная информация:

Re: создание разделов на USB-носителе

Непрочитанное сообщение dmitriev » 07 июл 2012, 05:30

Загадка расширенного раздела: http://rus-linux.net/nlib.php?name=/MyL ... stery.html

Не следует смешивать:
Создание раздела (соответствующая запись в Таблицу Разделов MBR) и
Форматирование (создание соответствуюцей файловой системы)

Пользоваться fdisk удобнее с опцией -u, показываюшей размер в секторах по 512 байт.

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

Re: создание разделов на USB-носителе

Непрочитанное сообщение Olej » 07 июл 2012, 12:56

dmitriev писал(а):Загадка расширенного раздела: http://rus-linux.net/nlib.php?name=/MyL ... stery.html
Я всё это знал в общих чертах ... Кроме места размещения extended разделов. Почитать было любопытно, но это ничего не добавило к вопросам, которые я задал.

Вот если бы вы завели тему отдельную ... либо в Обсуждение статей, опубликованных на сайте (как продолжение материала статьи), либо в Железо для Linux (именно об аппаратных деталях) - то было бы интересно обсудить ещё другие детали, именно применительно к USB флешам (и SSD дискам, как я понимаю), как-раз из-за того, что они не имеют фиксированной геометрии H/T/S + эти числа можно произвольно поменять (лишь бы их произведение осталось равным ёмкости диска).
dmitriev писал(а): Не следует смешивать:
Создание раздела (соответствующая запись в Таблицу Разделов MBR) и
Форматирование (создание соответствуюцей файловой системы)
Я как-раз и не смешиваю:
- с разделами, их созданием и т.д. мне всё относительно ясно...
- и все вопросы, которые я задавал, относятся именно к форматированию разделов под разные файловые системы (подготовка к использованию).

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

Re: создание разделов на USB-носителе

Непрочитанное сообщение Olej » 07 июл 2012, 14:44

Olej писал(а): Естественно: диск не размечен (не форматирован по-виндоузному) под структуру используемой FS.

А вот как это сделать? ... что-то я не вспомню - это вопрос №1.
Виноват ;-) - запамятовал ... сам же писал здесь в теме испортил USB флешку - как исправить?:

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

[olej@nvidia media]$ sudo mkfs.vfat /dev/sde1
mkfs.vfat 3.0.9 (31 Jan 2010)
Ну и соответственно:

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

[olej@nvidia ~]$ which mkfs.vfat
/sbin/mkfs.vfat

[olej@nvidia ~]$ ls /sbin/mk*
/sbin/mkdosfs      /sbin/mkfs.ext2     /sbin/mkfs.hfs      /sbin/mkfs.ntfs         /sbin/mkinitrd
/sbin/mke2fs       /sbin/mkfs.ext3     /sbin/mkfs.hfsplus  /sbin/mkfs.reiserfs     /sbin/mkntfs
/sbin/mkfs         /sbin/mkfs.ext4     /sbin/mkfs.jfs      /sbin/mkfs.vfat         /sbin/mkreiserfs
/sbin/mkfs.btrfs   /sbin/mkfs.ext4dev  /sbin/mkfs.msdos    /sbin/mkfs.xfs          /sbin/mksquashfs
/sbin/mkfs.cramfs  /sbin/mkfs.gfs2     /sbin/mkfs.nilfs2   /sbin/mkhomedir_helper  /sbin/mkswap
Можно просто: mkfs - а дальше он сам спросит: "чего изволите?" ;-)

Вопрос №1 снят.

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

Re: создание разделов на USB-носителе

Непрочитанное сообщение Olej » 08 июл 2012, 15:57

Olej писал(а):было бы интересно обсудить ещё другие детали, именно применительно к USB флешам (и SSD дискам, как я понимаю), как-раз из-за того, что они не имеют фиксированной геометрии H/T/S + эти числа можно произвольно поменять (лишь бы их произведение осталось равным ёмкости диска).
И вот что интересно ;-) :
- простейшая операция в gparted над разделами USB флеш диска - меняет "геометрию" самого диска :-o
- после очередной операции gparted:

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

[olej@nvidia mnt]$ sudo fdisk -l /dev/sdc 

Диск /dev/sdc: 1010 МБ, 1010826752 байт
255 heads, 63 sectors/track, 122 cylinders, всего 1974271 секторов
...
- после следующей операции gparted:

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

[olej@nvidia mnt]$ sudo fdisk -l /dev/sdc

Диск /dev/sdc: 1010 МБ, 1010826752 байт
196 heads, 9 sectors/track, 1119 cylinders, всего 1974271 секторов
...
- H/C/S гуляют как хотят :shock:
- что он туда понаписал?

tundra37
Писатель
Сообщения: 149
Зарегистрирован: 03 мар 2012, 19:26
Контактная информация:

Re: создание разделов на USB-носителе

Непрочитанное сообщение tundra37 » 10 июл 2012, 23:00

1) Про 2048 секторов - это выравнивание на границу 1 Мб. Микрософт вообще на 8 Мб выравнивает.
2) На USB смотрите что в 0-м секторе. И в MBR и бут-секторе по стандарту есть место для геометрии, но вот что делает gparted - оно с USB может дурить. gparted исключительно для дисков по-моему. Да и вообще у меня есть флешка и в половине менеджеров дисков она показывает битую структуру, однако и в Винде и в Линуксе пашет как огурчик.

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

Re: создание разделов на USB-носителе

Непрочитанное сообщение Olej » 12 июл 2012, 14:26

tundra37 писал(а):1) Про 2048 секторов - это выравнивание на границу 1 Мб. Микрософт вообще на 8 Мб выравнивает.
Зачем?
Можно ли это изменить?
tundra37 писал(а): 2) На USB смотрите что в 0-м секторе. И в MBR и бут-секторе по стандарту есть место для геометрии, но вот что делает gparted - оно с USB может дурить. gparted исключительно для дисков по-моему.
Что такое "геометрия" для флешки, и кто её как понимает - это большая загадка есть!
Вот что показывают для одной флешки (не вынималась, не размонтировалась между показанными результатами) разные утилиты работы с дисками:

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

[olej@notebook ~]$ sudo fdisk -l /dev/sdd

Диск /dev/sdd: 1010 МБ, 1010826752 байт
196 heads, 9 sectors/track, 1119 cylinders, всего 1974271 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003ec16

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1   *        2048     1972223      985088   83  Linux
( H * C * S = 1973916 ).

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

( H * C * S = 1973472 ).

[olej@notebook ~]$ sudo hdparm -g /dev/sdd

/dev/sdd:
 geometry      = 1011/32/61, sectors = 1974271, start = 0
( H * C * S = 1973472 ).

gparted ( H * C * S = 1959930 ):
dev-sdd-GParted.png
(71.28 КБ) 9823 скачивания
У всех из них полностью различающиеся данные, кроме итогового общего числа секторов (1974271), которое (1974271) ни в одном случае не совпадает (больше!) с произведением H * C * S !

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

Re: создание разделов на USB-носителе

Непрочитанное сообщение Olej » 12 июл 2012, 14:58

Olej писал(а): Что такое "геометрия" для флешки, и кто её как понимает - это большая загадка есть!
Вот что показывают для одной флешки (не вынималась, не размонтировалась между показанными результатами) разные утилиты работы с дисками:
Хотя для других USB флешек цифры "геометрии" от разных утилит могут и совпадать:

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

[olej@notebook ~]$ sudo hdparm -g /dev/sdb

/dev/sdb:
 geometry      = 1018/31/62, sectors = 1957888, start = 0

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

[olej@notebook ~]$ sudo fdisk -l /dev/sdb

Диск /dev/sdb: 1002 МБ, 1002438656 байт
31 heads, 62 sectors/track, 1018 cylinders, всего 1957888 секторов
Units = секторы 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  Система
/dev/sdb1              62     1956595      978267    b  W95 FAT32
dev-sdd-GParted.png
(71.28 КБ) 9824 скачивания
Все 3 дают одинаковые цифры.

tundra37
Писатель
Сообщения: 149
Зарегистрирован: 03 мар 2012, 19:26
Контактная информация:

Re: создание разделов на USB-носителе

Непрочитанное сообщение tundra37 » 12 июл 2012, 18:21

Olej писал(а):
tundra37 писал(а):1) Про 2048 секторов - это выравнивание на границу 1 Мб. Микрософт вообще на 8 Мб выравнивает.
Зачем?
Можно ли это изменить?
Это "дыхальце" - когда меняем первичный раздел на логический - нужно +63 сектора. А вот почему так много - не знаю. Возможно для простоты счета, возможно буфер для изменения размера без потери данных, возможно это выравнивание на начало цилиндра - есть и такое. Кстати невыровненные разделы в свое время создавали несовместимость менеджеров разделов и самой Винды. Одно время Парагон делал очень кривые разделы.
Olej писал(а): Что такое "геометрия" для флешки, и кто её как понимает - это большая загадка есть!
Никаких загадок. Вас же не удивляет, что реальная геометрия харда отличается от "геометрии" в MBR.
Роль у нее одна - совместимость со старыми программами, которые зачем-то ее спрашивают :)
Насколько понимаю, на флешке утилиты пишут отсебятину, т.к. им надоело "падать" на нестандартных разметках MBR и boot.

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

Re: создание разделов на USB-носителе

Непрочитанное сообщение Olej » 12 июл 2012, 21:59

tundra37 писал(а):Насколько понимаю, на флешке утилиты пишут отсебятину, т.к. им надоело "падать" на нестандартных разметках MBR и boot.
Наверное не пишут, а читают?
Причём читают часто (см. выше) полную ахинею, не имеющую ничего общего с записываемым.
Я, пока, по крайней мере, не видел ни одну утилиту, после выполнения которой изменилось бы значение H/C/S, а уж тем более то итоговое значение, типа:

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

sectors = 1957888
которое всегда больше произведения H * C * S.

Ответить

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

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

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