
Я понимаю, как использовать Gparted для изменения размеров разделов, например, чтобы сделать /home меньше и / больше (я передвину нижнюю границу /home вправо, а затем передвину верхнюю границу / в ту же точку), но я хотел бы знать, что происходит с информацией, изначально хранящейся в пространстве в разделе /home, который становится, благодаря Gparted, частью раздела /. Перемещает ли Gparted (надеюсь) информацию в "безопасную" часть /home перед тем, как переразбить диск?
решение1
Изменение размера раздела на самом деле не сильно влияет на данные. Вам также придется изменить и/или скопировать файловую систему в разделе. Конечно, gparted достаточно хорош, чтобы сделать это за вас, так что это звучит немного педантично, но полезно говорить об уменьшении и перемещении файловой системы отдельно от границ раздела.
Поэтому, когда вы сжимаете раздел справа, все файлы, которые были в этом пространстве, должны быть перемещены в более низкую позицию в файловой системе (если таковые были), а затем свободное пространство в конце файловой системы может быть усечено, а структуры данных файловой системы скорректированы для соответствия, а граница раздела перемещена. Это, как правило, довольно быстро и безопасно.
Когда вы перемещаете левую часть раздела, он должен скопировать все данные в более позднюю часть диска. Если новое и старое расположение перекрываются, он сначала скопирует конец файловой системы, а затем скопирует предыдущий раздел в старое расположение того, что он только что скопировал... и т. д., пока не сместит всю файловую систему в конец раздела, а затем он сможет переместить границу раздела. Конечно, эта операция очень медленная и очень опасная, поскольку все данные должны быть скопированы, и если диск выйдет из строя или на нем появятся плохие блоки, или копирование будет прервано на полпути, вы получите файловую систему, разрезанную пополам, которую невозможно смонтировать, и, возможно, с поврежденными данными.