Ошибка разбиения на разделы Элементарная ОС

Это возможно с eval :

$ declare -a array=( 1 2 3 4 )
$ echo "${array[@]}"
1 2 3 4
$ p=ay
$ tmp=arr$p
$ echo "$tmp"
array
$ echo "\${${tmp}[@]}"
${array[@]}
$ echo "newarray=(\"\${${tmp}[@]}\")"
newarray=("${array[@]}")
$ eval "newarray=(\"\${${tmp}[@]}\")"
$ echo "${newarray[@]}"
1 2 3 4
$

Команды, начинающиеся с echo, служат для иллюстрации, eval опасен.

Обратите внимание, что приведенное выше не сохраняет индексы массивов для разреженных массивов.

1
01.05.2017, 00:52
1 ответ

При определении структуры разделов жесткого диска необходимо помнить о нескольких вещах. Для традиционного диска в стиле MBR -в начале диска для таблицы разделов зарезервировано 512 байт. Многие старые диски имели секторы размером 512 -байт, поэтому создание первого раздела сразу после таблицы разделов не было проблемой.

Еще кое-что, о чем следует помнить, это то, что на таких больших жестких дисках, как этот, некоторые BIOS не загружают ОС, если требуемые файлы находятся недостаточно близко к началу диска. Чтобы обойти это, можно использовать отдельный раздел /boot.

Кажется, что ваш новый накопитель имеет (довольно распространенный размер сектора )4 КиБ. Это 4096 байт. В этом случае размещение раздела непосредственно после таблицы приведет к тому, что этот раздел окажется в середине сектора — другими словами, будет смещенным . Если вы разрешаете установщику автоматически создавать и упорядочивать разделы, он может не учитывать этот факт.

Чтобы убрать предупреждение и все ваши разделы начинались на границах секторов, убедитесь, что первый раздел начинается с 4 КиБ на диске с байта 4096. Вам понадобится несколько сотен МБ для вашего раздела /boot, но пока каждый раздел кратен 4 КиБ, они будут выровнены в вашем случае. Обратите внимание, что любое целое число МиБ или ГиБ кратно 4 КиБ.

Для того, чтобы на самом деле добиться такого правильного расположения, может быть лучше разместить разделы от конца к началу, так как на первый взгляд кажется, что программа установки не позволяет вам указать начальное местоположение для раздела.Я предполагаю, что это будет единственная ОС на вашем диске, и вам нужны /boot, /и раздел подкачки в таком порядке. Затем вы должны сначала выбрать «Что-то другое», когда установщик спросит, как вы хотите отформатировать диск, и выполните следующие действия:

  • Начните с создания новой таблицы разделов или просто удалите все существующие разделы
  • Нажмите на свободное место
    • Добавить новый раздел,
    • Выберите "конец" для местоположения,
    • Выберите «обмен» в поле «Использовать как»
    • Установите разумный размер (несколько кратное 64 МБ 1)
  • Нажмите на свободное место еще раз
    • Добавить новый раздел,
    • Выберите "конец" для его местоположения
    • Выберите тип файловой системы, например Ext4, в поле «Использовать как»
    • Установите точку монтирования на/
    • Установите его размер равным размеру свободного места минус 512 МБ или около того, убедившись, что результирующий размер кратен 64 МБ
  • В последний раз нажмите на свободное место.
    • Добавить новый раздел
    • Выберите "конец" для его местоположения
    • Выберите простой тип файловой системы в поле «Использовать как», например Ext2
    • Установите точку монтирования на/boot
    • Установите его размер равным 512 МБ (или тому, что вы выбрали ), которое вы сохранили выше

1 Программа установки явно указывает размеры в «мегабайтах (1000000 байтов )», что автоматически не кратно размеру вашего сектора. Однако 64 МБ равно 15625 секторам, поэтому, если размер разделов кратен 64 МБ, это будет нормально в любой интерпретации.

1
27.01.2020, 23:45

Теги

Похожие вопросы