Сообщить о некорректном свободном пространстве

Итак, я поменял свой блестящий SSD SSD на еще более строгий SSD-диск PCI-E. Я запускаю свою основную ОС на SSD, потому что это глупо. Я сделал это на своем старом SSD, поэтому я создал новый раздел EXT4, а затем просто dd изменил данные (жаль, что я не знаю, какую именно команду я запускал больше), и после переустановки grub я загрузился на PCI-E SSD. На первый взгляд все работало отлично, и все делалось быстрее, чем когда-либо.

Но потом я заметил свободное место на новом более крупном диске: он был почти таким же, как на другом диске ... Диск, размер которого был вдвое меньше.

Итак, похоже, что я скопировал файлы неправильно, и он скопировал некоторые метаданные файловой системы вместе с ним.

Инструменты, такие как du и Disk Usage Analyzer, возвращаются с правильными цифрами. Вещи, которые смотрят на раздел (а не на файлы), похоже, считают, что диск составляет 120 ГБ

Я использую этот диск уже неделю, поэтому он не синхронизируется со старым SSD, поэтому сбрасывая данные и начало снова - это не работа, которая наполняет меня радостью, но два вопроса:

Есть ли способ исправить мою файловую систему, чтобы она знала, о чем она сейчас? fsck e2fsck и badblocks все, похоже, могут сканировать его, не обнаружив проблемы с ним. Если я снова подключу свой старый SSD, скопируйте данные с моего PCI-E на него, а затем скопируйте его обратно в новую файловую систему (например, жонглируйте данными), что лучший способ сделать это? Я, очевидно, хочу сохранить все разрешения и программные ссылки там, где они есть.
1
задан 9 August 2012 в 22:12

3 ответа

На самом деле все в порядке dd весь диск в другой. Но тогда вам нужно изменить размер разделов, чтобы заполнить новый, больший диск. Для этого вы можете использовать удивительный инструмент для разделения диска gparted. У них тоже есть собственный LiveCD.

4
ответ дан 25 May 2018 в 23:15

Я предполагаю, что вы делаете что-то вроде:

sudo dd if=/dev/sda98 of=/dev/sda99

, где / dev / sda98 имеет размер 12 ГБ и / dev / sda99 имеет размер 25 ГБ.

Очевидно, что эти

Что вы сделали, это переместить не только данные, но и всю файловую систему, включая все ее метаданные, описывающие, что бесплатно и что используется, в новый раздел , У этого есть много свободного места, но это свободное пространство не было включено в файловую систему на / dev / sda99, поэтому оно скрыто в конце раздела и полностью непригодно.

Решение состоит в изменении размера файловая система, расположенная в разделе:

sudo resize2fs /dev/sda99

работает в файловых системах EXT2, EXT3 и EXT4.

Сначала вы должны сделать резервную копию.

Это скажет, что файловая система будет расширяться во все свободное место на этом разделе, включая новое пространство в метаданные файловых систем, поэтому файлы могут быть сохранены в нем.

Вы не можете скопировать большой раздел в меньший раздел с dd, если вы не скажете, что он так много копирует с параметром count. dd делает бит для бит-копии всего в исходном разделе в целевой раздел, в этом случае он пытается скопировать все скрытое / невидимое пространство в меньший раздел вместе с исходным содержимым. Он не знает и не заботится о том, что он копирует - он не должен быть действительной файловой системой вообще.

4
ответ дан 25 May 2018 в 23:15

У меня возникла эта проблема при изменении размера раздела Linux EX2 с использованием Paragon Partition Manager в Windows. К счастью, у меня было два раздела EX2 Linux, каждый из которых с дистрибутивами Linux. Мне удалось загрузиться в раздел Linux, который не был изменен, а затем использовать Gparted для сжатия, а затем снова расширить раздел, который неправильно распределял свободное пространство в файловой системе. Это сработало отлично!

0
ответ дан 25 May 2018 в 23:15

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

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