Изменение разделов жесткого диска при их использовании [дубликат]

На этот вопрос уже есть ответ здесь:

In gparted , почему я не могу изменить используемые разделы, например root, но в Windows я могу уменьшить корневой раздел при загрузке в него.

Есть ли программа, которую я могу использовать для изменения раздела во время его использования?

0
задан 24 June 2017 в 10:00

1 ответ

GParted довольно консервативен об этом, но он может быть сделан с другими инструментами; однако, существуют существенные различия в зависимости от метода разделения (стандартные разделы по сравнению с LVM) и используемая файловая система. Например:

  • Необходимо различать изменение размеров разделов (которые являются простыми структурами данных, которые определяют запуск и конечные точки файловых систем, или другие структуры данных) и файловые системы (которые являются намного более сложными структурами данных, чтобы помочь определить файлы, каталоги и связанные метаданные). GParted представляет один пользовательский интерфейс для выполнения обоих действий, таким образом маскируя это важное различие.
  • При изменении размеров стандартного раздела это используется "сырые данные", необходимо или изменить размер, или удалить и воссоздать, раздел, который Вы хотите изменить. Вы делаете это прежде, чем увеличить размер файловой системы от ее конца или после уменьшения файловой системы, если Вы хотите уменьшить размер раздела. Из-за пути ядро Linux обрабатывает эти вещи, может быть трудно заставить ядро распознавать измененный размер раздела раздела с активной файловой системой, таким образом, Вы, возможно, должны перезагрузить после внесения изменения в размер раздела.
  • Перемещение раздела или изменение размеров его путем изменения его стартовой точки требуют существенного количества перезаписи файловой системы, которую он содержит. Это вызвано тем, что файловые системы определяются, частично, структурами данных, которые расположены относительно запуска раздела (или другой контейнер). GParted обрабатывает это более или менее прозрачно, но если Вы захотите сделать это с другими инструментами, то необходимо будет очень стараться переместить структуры данных файловой системы и заставить измененный раздел запускаться в точно правой точке. Это - задача для экспертов с нервами стали; не делайте попытку таких вещей, если Вы не знаете то, что Вы делаете! Даже эксперт сделал бы это только после создания резервного копирования.
  • Другой тип структуры данных является Менеджером по логическому тому (LVM), который является альтернативным способом определить файловые системы. LVM обычно разделяется на уровни на обычных разделах - то есть, Вы определяете один или несколько разделов как физические тома (PVs) в группе объема (VG) LVM, затем подразделяете это VG на логические тома (LVs), которые являются тем, что содержит файловые системы. Несмотря на добавленную сложность, LVM помогает изменить размер файловых систем, потому что LVs больше похожи на файлы - Вы не должны быть обеспокоены в том, где они начинают или заканчиваются; просто необходимо знать имя и размер LV.
  • При использовании LVM логические тома (LVs) содержат файловые системы, и таким образом, Вы обычно обеспокоены изменением размеров LVs, не разделов. Изменение размеров LVs, в то время как они используются, легко, и сделано через lvresize; но файловые системы, которые они содержат, возможно, все еще должны быть изменены отдельно. (Иногда --resizefs опция к lvresize поможет с этой задачей, все же.)
  • Если Вы хотите увеличить общее пространство, использованное LVM, можно добавить новый раздел как PV и затем изменить размер LV в VG. Если Ваша установка LVM содержит несколько PVs, можно инвертировать этот процесс (хотя Вы, возможно, должны явно убрать один или несколько PVs с pvmove сопровождаемый vgreduce). Если у Вас будет один большой PV, то необходимо будет изменить размер его с pvresize и затем скорректируйте содержание размера раздела с fdisk, parted, gdisk, или некоторый другой инструмент.
  • Различные разделы поддерживают различные методы изменения размеров. Для популярного ext4fs (и его предшественники, ext3fs и ext2fs), можно использовать resize2fs сделать это задание. Это увеличение поддержек инструмента или уменьшение размера размонтированных файловых систем; но для смонтированных файловых систем, размер может быть увеличен, но не уменьшен. Для других файловых систем необходимо консультироваться с собственными инструментами калибровки файловой системы.
  • Инструменты GUI как system-config-lvm может помочь с изменением размеров LV при использовании LVM.

Я не использую инструменты Windows очень часто; однако, мое неопределенное воспоминание - то, что при изменении размеров используемого раздела Windows его инструменты требуют перезагрузки как части операции. Если это воспоминание корректно, то инструменты Linux и Windows на самом деле не все это отличающееся с точки зрения низкого уровня; это просто, что Windows помогает автоматизировать различные включенные шаги, тогда как необходимо явно сделать разные вещи сами в соответствии с Linux. В некоторых случаях, такой, увеличивая размер LV, Linux может на самом деле быть более гибким, чем Windows.

Почему из него имеет отношение к способу, которым структуры данных создаются и иначе управляются ядром; ядро имеет тенденцию предполагать, что разделы, которые используются, не изменятся в размере. Тем не менее я не знаком с внутренними деталями ядра, просто некоторые системные вызовы, которые разделение инструментов может использовать, чтобы сказать ядру обновлять свои данные таблицы разделов. Также были изменения в том, как ядро время от времени обрабатывает это; но такие изменения требуют изменений в инструментах пространства пользователя, которые могут требовать времени для распространения. GParted самостоятельно основан на многочисленных других уровнях (прежде всего libparted, но также и библиотеки GUI, X-оконная система, и т.д.), таким образом, это может не спешить ловить до новых возможностей на уровне ядра.

Существуют многочисленные вопросы и ответы на этом сайте, которые касаются многочисленных определенных сценариев изменения размеров. Покрытие их всех в единственном ответе было бы утомительно и непрактично.

1
ответ дан 3 November 2019 в 01:17

Другие вопросы по тегам:

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