Linux изменить тип раздела
Целью статьи является рассмотреть вопросы разбития жестких дисков и создание на разделах различных файловых систем в Linux . Будет рассмотрено управление дисками MBR и GPT .
Использование утилиты mkfs.
Основные утилиты для работы с разделами жестких дисков и создания файловых систем: fdisk , gdisk , parted , gparted , mkfs , mkswap .
Для работы с жесткими дисками, такими операциями как изменение размеров логических разделов, разбиение жестких дисков, создание файловых таблиц на разделах жестких дисков требуются права суперпользователя. Переключится в данных режим из режима обычного пользователя можно командой sudo –s и введя пароль.
Утилита fdisk , позволяет нам проводить различные манипуляции с разделами жесткого диска.
Команда fdisk –l , мы можем посмотреть какие разделы у нас есть на жестком диске.
И так вводим команду fdisk –l и видим у на 3 физических жестких диска /dev/sda , /dev/sdb , /dev/sdc соответствующих размеров. Нас интересует раздел /dev/sdc/ на 10 GB с которым мы будем производить манипуляции.
Далее сделаем разбивку и создадим логические разделы.
fdisk / dev / sdc
Сразу получаем предупреждение, что раздел не содержит ни одного опознанного раздела.
Создадим новые разделы. Поделим на 2 части. У нас получится следующее.
Как мы можем увидеть создались 2 раздела и имеют ID 83, т.е. Linux раздел по умолчанию.
Теперь давайте поменяем тип раздела. Это сделать можно просто в меню выбираем t – смена раздела. Выбираем номер, например, 2 и нажимаем L , чтобы посмотреть hex коды, соответствующие разным типам. Изменим тип раздела Linux на swap раздел подкачки.
И теперь мы можем увидеть введя команду p .
У нас изменился тип раздела на раздел подкачки. Обычно данные раздел используется, когда не хватает оперативной памяти у машины. Теперь необходимо записать производимые изменения командой w. После ввода данной команды диски синхронизируются и таблица разделов изменена. После этого введя команду fdisk –l мы можем убедиться, что действительно появились разделы. Для того, чтобы этот раздел действительно стал работать, как раздел подкачки, его необходимо отформатировать, как раздел подкачки. Для этого есть команда специальная mkswap /dev/sdc2 . Указываем команду и раздел, который должен быть размечен. После команды mkswap раздел размечается и теперь его необходимо включить swapon /dev/sdc2 .
Для того, чтобы посмотреть какие разделы подкачки используются используем команду swapon –s .
Для выключения раздела подкачки можно использовать обратную команду swapoff /dev/sdc2 .
На самом деле, как мы убедились разделы подкачки создавать достаточно просто. Если не хватает оперативки, то пере разбили, отформатировали и включили.
Теперь поработает с первым разделом. Будем использовать команду mkfs.
В описании утилиты сказано, что данная утилита, строит Linux файловую систему. У данной утилиты, очень большое количество ключей. Использую данную утилиты мы можем отформатировать логический раздел в старую файловую систему ext2, с помощью команды mkfs –t ext2 /dev/sdc1 . А затем переформатировать в более новую ext3. Файловые системы различаются тем, что более новая файловая система журналируемая. Т.е. ведется журнал изменений происходящего на данной файловой системе и в случае чего-нибудь мы можем восстановить или откатить изменения. Еще более новая файловая система ext4. Отличия данной файловой системы от предыдущей в том, что она может работать с большими размерами жестких дисков, может в себе хранить большие размеры файлов, намного меньше фрагментация. В случае если мы хотим использовать, какие-то более экзотические файловые системы, то нам необходимо скачать соответствующую утилиту. Например, если мы хотим использовать файловую систему xfs.
Если мы попробуем отформатировать mkfs –t xfs /dev/sdc1 то мы получим ошибку. Попробуем поискать в кэше необходимый пакет apt-cache search xfs .
Находим необходимый пакет. Как мы можем видеть это утилита для управления XFS файловой системой. Следовательно, необходимо установить данный пакет, и мы сможем отформатировать в xfs файловую систему. Устанавливаем apt-get install xfsprogs . После установки пробуем отформатировать в xfs. Учитывая то, что мы уже форматировали в файловую систему ext4, нам необходимо команду на форматирование запускать с ключом –f . Получаем в следующем виде:
mkfs – t xfs – f / dev / sdc1
Теперь думаю интересно будет посмотреть, как сделать данный раздел рабочим под Windows операционную систему.
Возвращаемся обратно в редактирование логических разделов fdisk /dev/sdc и говорим , что мы ходим поменять тип первого нашего раздела с помощью команды t . Далее выбираем метку, которую понимает операционная система Windows, это FAT/FAT16/FAT32/NTFS. Например, NTFS id 86. Изменили. В этом можно убедится выведя таблицу с помощью команды p .
После изменения типа логического раздела, не забываем записать изменения с помощью команды w . Далее необходимо логический раздел отформатировать mkfs -t ntfs /dev/sdc1 .
Следовательно, как мы видим утилита mkfs прекрасно форматирует логические разделы в разные файловые системы, а если необходима специфическая файловая система всегда можно доставить недостающие компоненты и все будет работать.
Если посмотреть мануал по fdisk , то мы увидим, что он не умеет работать с дисками GPT и не может работать с большими разделами, только с MBR. Как известно в современных ПК уже используется UEFI, которая работает с GPT. А как следствие мы можем сделать вывод, что fdisk не сможет работать с дисками размер которых более 2 ТБ. Для работы с большими дисками можно использовать другую программу gdisk .
Изменить тип раздела (как изменить тип раздела с оновного на расширенный)
Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.Модератор: Bizdelnick
Изменить тип раздела
Начнем по порядку.Есть ноутбук, на нем был уставновлен Linux Debian Jessie. Диск был размечен так:
Понадобилось установить MS Windows.
Изменил размер sda6, sda2 через gparted. В резульате в конце диска пофилось свободное место - около 360 Гб.
Установил windows 7 (появилось 2 раздела: 100 Мб и 359 Гб (системный), восстановил загрузчик grub.
Решил в Windows сделать отдельный раздел для данных- сжал системный диск до 75 Гб, появилось 292 Гб свбодного места.
Пытаюсь создать раздел на свободном месте - получаю облом в виде "Диск уже содержит максимально допустимое число разделов". Через Gparted тоже не создаётся.
Сейчас разметка диска такая (немного отличается от начальной, т.к. пересоздал раздел подкачки):
Похоже что проблема в том, что у меня уже есть 4 основных раздела
sda1 /
sda2 - расширенный
sda3 - загрузочный раздел windows (который 100 Mb)
sda4 - системный раздел windows
Вопрос: как мне сделать еще 1 раздел для пользовательских данных в windows (диск D)?
Желательно без сноса всего..
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Как можно подготовить диск к её установке, с учетом того что на нем останется установленный debian?
Чувствую что туплю, не пойму где. Интернеты подсказывают, что если создать основной раздел вручную и укзать его для установки windows, то дополнительный раздел 100Мб создан не будет. Если сносить винду, то удаляйте sda3 и sda4, увеличивайте sda2 (чтобы за его пределами осталось место только для установки винды), устанавливайте винду — пускай инсталлятор пересоздаёт sda3 и sda4. Но проще попробовать сначала подвинуть их, вдруг да винда сможет грузиться после этого. Переустановить-то её никогда не поздно.
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
У вас сейчас таблица выглядит так:
Для MBR 3 основных раздела и один расширенный -- предел.
Винда такого не переживёт. Она ж убогонькая, с GPT грузиться может только в режиме UEFI.
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Удалить виндовые разделы 100 МБ и раздел с самой Windows. После этого через Gpated увеличить расширеный раздел /dev/sda2 на всё свободное место, оставив после этого раздела 100 МБ не распределёнными. Внутри этого большого расширеного раздела создать логический раздел для Windows и логический раздел для пользовательских данных Windows. Затем на оставшихся не распределённых 100 МБ создать основной раздел с ФС NTFS, пометить его флагом boot. Это будет раздел для загрузчика Windows. После этого устанавливать Windows. Похоже что проблема в том, что у меня уже есть 4 основных раздела
sda1 /
sda2 - расширенный
sda3 - загрузочный раздел windows (который 100 Mb)
sda4 - системный раздел windows
Именно так, причина в этом.
Вопрос: как мне сделать еще 1 раздел для пользовательских данных в windows (диск D)?Желательно без сноса всего..
Ответ: в Вашей интерпретации - никак.
Первичных разделов не может быть больше 4 (расширенный это тоже первичный, специального типа).
Без сноса всего - переустановить Windows на заранее подготовленный раздел для неё, чтобы она не делала скрытый служебный на 100Мб.
Она так умеет, работать будет.
Но я так не рекомендую, это всё равно костыли.
Посмотрите на это под другим углом:
есть ли действительно острая необходимость в установке Windows именно на железо?
Если не играете в игрушки и не пользуетесь под Windows аппаратным 3D-ускорением, то разумнее было бы Windows установить на виртуальную машину VirtualBox.
Отлично работает, легко бекапится, можно делать снапшоты, не надо перезагружаться между ОСями.
Правильно подсказывают.
Для win7 и win8 так и есть, за 10-ку не поручусь, могут быть нюансы. Без сноса всего - переустановить Windows на заранее подготовленный раздел для неё, чтобы она не делала скрытый служебный на 100Мб.
Она так умеет, работать будет.
Но я так не рекомендую, это всё равно костыли.
Так и собираюсь сделать.
Костыль потому что файлы загузчика не на отдельном разделе, а на системном? Вроде как кроме битлокера и среды восттановления (?) отдельный загрузочный раздел ни на что не влияет особо. Разве что он отделён от системного и если с последним что-то случится то через среду восстановления на отдельном разделе его можно пробовать восстановить.
есть ли действительно острая необходимость в установке Windows именно на железо?
Если не играете в игрушки и не пользуетесь под Windows аппаратным 3D-ускорением, то разумнее было бы Windows установить на виртуальную машину VirtualBox.
Отлично работает, легко бекапится, можно делать снапшоты, не надо перезагружаться между ОСями.
Для себя наверно так и сделал бы, но ноутом буду пользоваться не я,эти заморочки с запуском ВМ, переключением и прочим не подойдут. Но вариант хороший.
Пока попоробовал на этой системе вручную удалить раздел в 100Мб.
Загрузочным сделал системный раздел (через diskpart поставил загрузочный флаг на системный раздел), перенёс файлы загрузчика (bcdboot %windir% c:) и записал загрузочный сектор в системный раздел (bootset /nt60 C:).
После этого перезагрузился, все было нормально.
Потом Gparted'ом удалил раздел 100Mb и передвинул системный раздел, чтобы не было промежутка в 100 Мб. После этого сменился его номер (был sda3, стал sda4 - так пределил grub). Вот это видимо было зря, windows теперь не грузится, видимо нужно где-то загрузчику сказать что номер раздела на диске изменился.
Еслм восстановить загрузчик не удастся, придется таки сносить.
GNU Parted - это программа для создания и редактирования таблиц разделов. GParted это GUI для неё.
Contents
Установка
Установите parted пакет. Для графического интерфейса, установить gparted пакет, графический интерфейс для parted.
Использование
Parted имеет два режима: коммандная строка и интерактивный. Parted всегда должен начинаться с:
где device это жёсткий диск, который нужно отредактировать (например /dev/sda ). Если не указать device аргумент, parted может предположить какое устройство вы хотите.
Режим командной строки
В режиме командной строки, он принимает одну или более команд. Например:
Примечание: Параметры (такие как --help ) можно указать только в командной строке.Интерактивный режим
Интерактивный режим упрощает процесс разбиения и уменьшает ненужное повторение с помощью автоматического применения всех команд разбиения на указанное устройство.
Чтобы начать работу с устройством, выполните:
Чтобы увидеть список доступных команд, введите:
Когда закончите, или если хотите сделать таблицу разделов или схему для другого устройства, выйдите из parted с помощью:
Если вы не указываете параметр команде, Parted подскажет вам его. Например:
Округление
Поскольку многие системы разделов имеют сложные ограничения, Parted обычно будет делать что-то немного другое, чем вы просили. (Например, создание раздела начиная с 10.352Mb, не с 10.4Mb) Если рассчитанные значения слишком сильно отличаются, Parted попросит у вас подтверждения. Если вы точно знаете, что хотите, или точно видите, что делает Parted, это может помоч указать конечные точки разделов в секторах. (с помощью "s" суффикса) и указать "unit s" команду, чтобы конечные точки раздела отображались в секторах.
В parted-2.4, когда вы указываете начало и/или конец значения с использованием двоичных единиц IEC, например “MiB”, “GiB”, “TiB”, и т.д., parted обрабатывает эти значения как точные и равны тому же числу, указанному в байтах (то есть с суффиксом "B"), в том, что он не дает “полезный” диапозон. Сравните это с запросом на запуск раздела “4GB”, который может фактически разрешиться в некотором секторе до 500MB до или после этого момента. Таким образом, при создании раздела лучше указывать единицы байтов (“B”), сектора (“s”), или двоичные блоки IEC, такие как “MiB”, но не “MB”, “GB”, и т.д.
Разбиение
Создание новой таблицы разделов
Вам нужно (пере)создать таблицу разделов устройства, если она никогда ранее не разбивалась, или когда вы хотите изменить тип этих таблиц разделов. Пересоздание таблицы разделов устройства также будет полезно когда схема разделов требует реконструкции с нуля.
Откройте каждое устройство, таблица разделов которого должна быть (пере)создана с помощью:
Затем создайте новую GUID Partition Table, используйте следующую команду:
Чтобы создать новую Главную Загрузочную Запись/MS-DOS таблицу разделов, используйте:
Схемы разделов
Следующая команда будет использоваться для создания разделов:
- part-type-or-part-label интерпретируется по-разному в зависимости от таблицы разделов:
- MBR: параметр интерпретируется как part-type , который может быть primary , extended или logical .
- GPT: параметр интерпретируется как part-label , который устанавливает PARTLABEL атрибут раздела. Метка раздела должна быть установлена всегда, так как mkpart не разрешает создавать разделы без метки.
- start это начало раздела от начала устройства. Он состоит из числа, за которым следует unit, например 1MiB означает начало с 1 MiB.
- end конец раздела от начала устройства (not из start значения). Он имеет тот же синтаксис, что и start , например 100% означает конец в конце устройства (использовать все оставшееся пространство).
Следующая команда будет использоваться для отметки раздела, содержащего /boot директорию как загрузочную:
- partition - номер раздела, который должен быть отмечен (смотрите вывод команды print ).
- esp это назначения для boot на GPT. [1]
This article or section needs expansion.
Reason: Explain the boot , legacy_boot и esp флаги и их различное использование в MBR и GPT. (Discuss in Talk:Parted (Русский))UEFI/GPT примеры
В каждом случае специальный загрузочный EFI system partition (Русский) is required.
При создании нового системного раздела EFI используйте следующие команды (рекомендуемый размер - не менее 260 MiB):
Оставшаяся схема разделов полностью зависит от вас. Для другого раздела, использующего 100% оставшегося пространства
Для / (20 GiB) и /home (все оставшееся пространство) разделов:
Для / (20 GiB), swap (4 GiB), и /home (все оставшееся пространство) разделов:
BIOS/MBR примеры
Для минимального одного основного раздела, использующего все доступное дисковое пространство, будет использоваться следующая команда:
В следующем случае, 20 GiB / будет создан раздел, за которым последует /home раздел, используя все оставшееся пространство:
В последнем примере, /boot (100 MiB), / (20 GiB), swap (4 GiB), and /home (все оставшееся пространство) разделы будут созданы:
Изменения размера разделов
Важно: ext2/3/4 разделы, размер которых изменяется, должны быть размонтированы и не использоваться. Трудно и опасно пытаться редактировать корневую файловую систему в работающей ОС; вместо этого используйте live media/rescue систему.Если вы увеличиваете раздел, вы должны сначала изменить размер раздела, а затем изменить размер файловой системы на нем, в то время как для сжатия файловая система должна быть изменена перед разделом, чтобы избежать потери данных.
Увеличение размера разделов
Чтобы увеличить размер (в интерактивном режиме parted):
Где number - номер раздела, который вы увеличиваете, и end - новый конец раздела (который должен быть больше старого).
Затем чтобы увеличить (ext2/3/4) файловую систему на разделах:
Или увеличить Btrfs файловую систему:
Где sdaX обозначает раздел, который вы увеличиваете, и [size] - новый размер раздела. Примечание; [size] опциональный, по умолчанию: заполнить оставшееся место на разделе.
Сжатие разделов
Чтобы сжать ext2/3/4 файловую систему на разделе:
Примечание: В отличие от parted, resize2fs(8) использует K, M, G и T что обозначает KiB, MiB, GiB и TiB. Документация e2fsprogs неверно ссылается на кибибайты, мебибайты, гибибайты и тебибайт как "степень двойки килобайты, мегабайты, гигабайты, терабайты".Чтобы сжать Btrfs файловую систему:
Где sdaX обозначает раздел, который вы сжимаете, и size - новый размер раздела.
Затем сожмите раздел (в интерактивном режиме parted):
Где number - номер раздела, который вы сжимаете, и end - новый конец раздела (который должен быть меньше старого конца).
Когда закончите, используйте resizepart команду из util-linux сообщающая ядру о новом размере:
Где device - устройство, на котором находиться раздел, number - номер раздела и size - новый размер раздела, в 512-байт секторах.
Предупреждения
Parted will always warn you before doing something that is potentially dangerous, unless the command is one of those that is inherently dangerous (e.g. rm, mklabel and mkpart).
Выравнивание
При создании раздела, parted может предупредить о неправильном выравнивании раздела, но не поможет с правильным выравнивание. Например:
Предупреждение означает, что начало раздела не выровнено. Введите "Ignore" что проигнорировать, вывести таблицу разделов по секторам, чтобы увидеть, где она начинается, и удалить/пересоздать раздел с начала сектора округляя до увеличения степени до 2, пока предупреждение не прекратится. В качестве одного из примеров, на флешке с секторами 512B, Parted найдёт разделы начинающиеся на секторах которые кратны 2048, что соответствует выравниванию в 1 MiB.
Если вы хотите parted может попытаться рассчитать для вас правильное выравнивание, укажите начальную позицию как 0% вместо некоторого конкретного значения. Чтобы сделать один большой ext4 раздел, ваша команда должна выглядить так:
Советы и приемы
Dual boot с Windows XP
Если вы имеете Windows XP разделы которые вы хотите переместить с диска на диск, а также ваш загрузочный раздел, вы можете легко сделать это с помощью GParted и оставаться на Windows счастливым, просто удалив следующий ключ реестра ДО перемещения раздела:
Ссылка на источник здесь.
Проверка выравнивания
На существующем размеченном диске, вы можите использовать parted чтобы проверить выравнивание разделов на диске. Например, проверить выравнивание раздела 1 на /dev/sda :
Устранение проблем
Раздел FAT32 после изменения размера, не распознается в Windows
Для старых сборок, однострочный обходной путь был упомянут в отчете об ошибке, но в отчете также указывалось, что он не работал должным образом для всех. [5][6]
Следует отметить, что этот вопрос во многом не коснулся gparted, поскольку проект включил патч в свою сборку от gparted версии 0.26.0-1 (выпущенной в 2016-04-29).[7]
gparted на Wayland вызывает ошибку "cannot open display: :0"
Данная проблема возникает потому, что xwayland получает отказ в доступе от gparted запущенном от имени root . разработчики gparted реализовали [8] небольшой обходной путь, который временно добавляет root в список пользователей, которым разрешёно подключаться xwayland пока приложение запущено.
20.02.2021
CentOS, Linux, Ubuntu
Один комментарийУстановка parted в Linux
Обновите набор по на сервере и установите пакет parted с помощью менеджера пакетов вашего дистрибутива Linux. Для CentOS 8 с менеджером пакетов dnf (который заменил yum), можете установить parted из базового репозитория командой:
Или в Debian/Ubuntu:
Чтобы проверить версию утилиты, выполните команду:
Чтобы попасть в саму оболочку, введите:
Управление таблицей разделов в parted, разметка диска
Выведем список доступных дисков:
Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.
Можно создать на диске разметку msdos (MBR)
Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :
Обратите внимаени, что в parted в отличии от fdisk нет команды для записи изменений. Все изменения применяются немедленно.Теперь parted показывает тип таблицы разделов (разметки) на диске:
Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:Создание нового раздела в parted
Для создания раздела в parted, используется утилита mkpart . При вводе команды в интерактивном режиме будут появляться вопросы о параметрах нового раздела:
- Partition type — указываем тип раздела (primary / extended)
- File system type — файловая система, по умолчанию предлагается ext2 (в дальнейшем мы ее изменим);
- Start — начальный сектор раздела
- End — конечный сектор раздела (в мегабайтах). В нашем примере мы указали 5000, это значит, что будет создан раздел размером 5Гб.
(parted) print free
Можно сразу создать раздел на весь диск:
или указать произвольный размер раздела так:
Также можно указывать размер диска в % и задать метку:
Чтобы выйти из оболочки parted, выполните команду:
Отформатируем раздел в файловой системе ext4:
Проверяем файловую систему раздела и видим, что она изменилась (обратите внимание что команда print выводит теперь список разделов на диске, их номера, тип, размер и файловую систему).
Можно создать раздел и отформатировать его, не входя в оболочку parted, например:
Данной командой мы создадим раздел на диске vdb, под который отдадим всё пространство.
Таким образом вы можете упрощать себе работу или же добавлять подобные команды в какие-то скрипты или файлы кикстарта.
Как расширить или уменьшить размер раздела диска с помощью parted
Чтобы расширить или уменьшить размер раздела в partedиспользуется субкоманда resizepart Можно изменить размер раздела в интерактивном режиме. В оболочке parted введите команду:
Разделы с файловыми системами ext2/3/4 нужно отмонтировать перед изменением размера.Система запросит номер раздела (берется из вывода команды print) и конечный размер раздела. В этом примере размер разделе будет увеличен с 5 до 10 Гб:
Сначала увеличьте размер раздела, а потом растяните файловую систему на нем. Если вы уменьшаете размер раздела – сначала нужно сжать размер файловой системы, и только после этого уменьшать размер раздела. Иначе потеряете данные.Для уменьшения размер файловой системы используются следующие команды. Для файловых систем ext2/3/4 :
resize2fs /dev/sdab size
btrfs filesystem resize /dev/sdab size
Изменять флаг раздела в parted тоже возможно, вы можете установить один из нужных вам:
Например сделаем раздел загрузочным:
Удаление раздела с помощью parted
Если вам требуется удалить раздел на диске, вы можете использовать команду rm в оболочке parted:
Эта команду удалит раздел с номером 1:
Будьте осторожны в использовании данной команды, так как она не требует подтверждение удаления.
Восстановление случайно удаленных разделов с помощью rescue
Удаленный раздел можно восстановить с помощью утилиты rescue, которая доступа в оболочке parted:
Команда запросит начальный и конечный размер разделе. Если на этих позициях есть инфа о разделе, команда попробует восстановить удаленный раздел.
Как видите, утилита parted проста в использовании и очень удобна для создания/изменения разделов вашего диска. Надеемся, что данная статья поможет вам разобраться во многих вопросах.
Читайте также: