Конвертировать раздел NTFS в ext4 - Как скопировать данные?
Я хотел преобразовать мой D:\
раздел со всеми моими данными из NTFS в ext4 и Интернет сказал мне, что я должен сделать следующее:
- Сократите все разделы до минимального размера
- Сделайте резервную копию моих данных (сделано путем клонирования раздела в GParted)
- Отформатируйте раздел в ext4 (пока не сделано, но не так сложно)
- Скопируйте резервную копию на диск
- Удалить резервную копию и увеличить все разделы
И я не знаю, как сделать часть 4. Могу ли я действительно скопировать весь диск, как я бы сделал для папок? Есть ли инструменты, специализирующиеся на этом? Как я могу убедиться, что не пропустил ни одной папки, скрытой системой или символическими ссылками и т. Д.? У меня есть Ubuntu live USB-Stick, если это важно.
0 ответов
1. Инструмент FreeFileSync GUI (Windows, Mac, Linux)
Чтобы вы не пропустили никаких данных, я настоятельно рекомендую использовать хороший инструмент для копирования файлов, такой как FreeFileSync. Он графический, бесплатный, с открытым исходным кодом и кроссплатформенный (Windows, Mac, Linux). Только будьте уверены, что не облажались и не копировали назад, удаляя все! Это не сложно, однако, так как оно графическое и очень удобное для пользователя.
Просто настройте папки с источником слева и местом назначения справа, затем щелкните шестеренку в правом верхнем углу и выберите опцию "Зеркало" для зеркалирования слева направо, а затем нажмите кнопку "Сравнить" в левом верхнем углу. Как только он определит, что ему нужно скопировать, он откроет информационный экран, показывающий, что он собирается делать (сколько файлов он будет создавать, перезаписывать, удалять или т. Д.). Убедитесь, что вы ничего не видите рядом с мусорной корзиной (с указанием того, что нужно удалить), или что вы видите ожидаемые файлы, которые должны быть удалены, как отмечено мусорной корзиной и знаком минус, а затем нажмите кнопку "Синхронизировать", чтобы начать. Вуаля! Легко использовать. Вот скриншот:
2. Средство командной строки rsync (Linux, Windows с Cygwin)
Если вы делаете копию из Linux, вы, конечно, можете также использовать FreeFileSync, но если вы гуру командной строки, вам может понравиться rsync
лучше. Это инструмент только для командной строки, и его сложнее в использовании, но он все же очень мощный, хотя и не такой мощный, как FreeFileSync, поскольку он не очень хорошо справляется с двусторонней синхронизацией. Вот несколько моих любимых rsync
команды:
КОПИРОВАНИЕ от источника к месту назначения, оставляя все в месте назначения, которое не конфликтует, все еще неповрежденным:
sudo rsync -rah --stats --info=progress2 '/path/to/source' '/path/to/destination'
При желании добавить
--verbose
, или просто-v
(или же-rahv
в моем случае) также получить полный список того, что именно будет скопировано.При желании добавить
--dry-run
чтобы показать, что произойдет, но НЕ ДЕЙСТВИТЕЛЬНО ДЕЛАЙТЕ ЕГО.При желании вы также можете записать весь список файлов для копирования в
stdout.log
файл, как это, и любые ошибки вstderr.log
файл, как это. Здесь я удаляю индикатор прогресса, удаляя--info=progress2
просто для того, чтобы файлы журнала не загрязнялись информацией о прогрессе везде:(sudo rsync -rah --verbose --dry-run --stats '/path/to/source' '/path/to/destination' | tee -a '/path/to/stdout.log') 3>&1 1>&2 2>&3 | tee -a '/path/to/stderr.log'
Удалить
--dry-run
из вышеизложенного, когда будете готовы сделать копию. Обязательно ознакомьтесь с распечаткой параграфа статистики (которая была напечатана, потому что вы имели--stats
) в конце файла stdout.log перед тем, как запускать скрипт на самом деле, чтобы убедиться, что все выглядит хорошо.Вот пример
--stats
вывод, полученный при выполнении опции ЗЕРКАЛО ниже. Обратите внимание, что это удаление некоторых файлов. Обратите на это особое внимание, так как удаление файлов не может быть отменено (по крайней мере, без специальных инструментов восстановления программного обеспечения). Просто имейте в виду, что они удаляются навсегда, а НЕ отправляются в какую-то корзину или что-то в этом роде, так что следите!Количество файлов: 102,033 (рег.: 89,638, каталог: 9,867, ссылка: 2,502, специальное: 26)
Количество созданных файлов: 3 (рег: 3)
Количество удаленных файлов: 9,861 (рег.: 9,360, каталог: 474, ссылка: 27)
Количество обычных переданных файлов: 25
Общий размер файла: 8,12 ГБ
Общий размер переданного файла: 35,30 байт
Литеральные данные: 35,30 байт
Совпадающие данные: 0 байт
Размер списка файлов: 917.43K
Время создания списка файлов: 0,007 секунды.
Время передачи списка файлов: 0,000 секунд
Всего отправлено байт: 38,33M
Всего байт получено: 1.02Mотправлено 38,33 млн байт получено 1,02 млн байт 7,15 млн байт / с
общий размер 8.12G ускорение составляет 206.37В ЗЕРКАЛО от источника к месту назначения, что также означает удаление чего-либо в месте назначения, которого нет в источнике (обратите внимание на строку "Количество удаленных файлов" в выводе статистики, показанном чуть выше), добавьте
--delete --delete-excluded
(хотя мы еще ничего не исключаем, как только вы узнаете о--exclude=PATTERN
Синтаксис вы также поймете, что вы хотите--delete-excluded
флаг).Во-первых, безопасная версия в сухом режиме:
(sudo rsync -rah --verbose --dry-run --stats --delete --delete-excluded '/path/to/source' '/path/to/destination' | tee -a '/path/to/stdout.log') 3>&1 1>&2 2>&3 | tee -a '/path/to/stderr.log'
А теперь опасность опасность опасность - может удалить все, если вы делаете исходную и целевую версии в обратном направлении (поэтому перед продолжением проверьте вывод статистики в конце stdout.log):
(sudo rsync -rah --verbose --stats --delete --delete-excluded '/path/to/source' '/path/to/destination' | tee -a '/path/to/stdout.log') 3>&1 1>&2 2>&3 | tee -a '/path/to/stderr.log'
И теперь версия, которая не сохраняется в каких-либо файлах журналов на тот случай, если вы хотите просто увидеть текущий прогресс и параграф статистики в конце, но НЕ иметь журнал отдельных файлов, скопированных или удаленных в stdout.log, или напечатанных ошибок в stderr.log:
sudo rsync -rah --info=progress2 --stats --delete --delete-excluded '/path/to/source' '/path/to/destination'
И это только начало rsync. Прочтите руководство:
man rsync
или онлайн: https://linux.die.net/man/1/rsync, и имейте в виду, что вы можете смешивать и сочетать многие параметры, которые я показывал выше. Другие действительно полезные вещи, которые нужно изучить, включают настройку файла source.txt и файла exclude.txt для включения и исключения соответственно списков файлов и путей. Сделайте это с опцией--files-from='/path/to/source.txt'
а также--exclude-from='/path/to/exclude.txt'
соответственно. Это чрезвычайно полезно. Наконец, это действительно хорошо сочетается с--relative
вариант. В конце концов, полный Bash-скрипт может выглядеть примерно так:(sudo rsync $OPTIONS $SRC $DEST | tee -a $LOG_STDOUT) 3>&1 1>&2 2>&3 | tee -a $LOG_STDERR
Где $SRC - ваш исходный путь (в данном случае относительный путь для всех файлов в файле source.txt, например, просто
/
чтобы сделать все относительно вашего корневого каталога), $DEST - это путь к вашему назначению, $LOG_STDOUT - это ваш путь туда, куда вы хотите записать информацию о своем стандартном выводе, $LOG_STDERR - это ваш путь туда, куда вы хотите записать свою информацию о stderr и $OPTIONS могут выглядеть примерно так:-rah --verbose --stats --relative --info=progress2 --delete --delete-excluded --dry-run --files-from='/path/to/source.txt' --exclude-from='/path/to/exclude.txt'
И, конечно же, как указано выше, вы можете удалить
--verbose
,--relative
,--info=progress2
,--delete
а также--delete-excluded
, а также--dry-run
по желанию, в зависимости от того, что вы делаете.