
Я отформатировал внешний жесткий диск объемом 3 ТБ в файловой системе ext4 с помощью fdisk (на самом деле gnu fdisk), смонтировал его в /media/external и пытаюсь скопировать на него весь свой домашний каталог.
Первая попытка, как мне показалось, была успешной, но через некоторое время, когда процесс остановился, я не смог перейти в скопированный домашний каталог с помощью cd. Похоже, cd не удался:
sudo: cd: command not found
Затем я подумал, что, возможно, есть какие-то ограничения для cp, и попробовал снова, используя tar.
cd /from-stuff/
tar cf – . | (cd /to-stuff; tar xvf -)
Я измерил размер своего домашнего каталога, он составил ~100G. Находясь в домашнем каталоге, я запустил:
du -ch | grep total
Я смонтировал его так:
sudo mount -t ext4 /dev/sdd1 /media/external
Обратите внимание, что мне не удалось смонтировать /dev/sdd
устройство, которое отображается, sudo fdisk -l
а /dev/sdd1 — нет.
При форматировании я сделал самые стандартные настройки, 1 раздел, все остальное по умолчанию. Я подтвердил, что форматирование прошло правильно, не имея никаких «ошибок недействительной таблицы разделов». Я новичок в этом, так что, пожалуйста, отнеситесь с пониманием. Я мог случайно выбрать GUID? но не знаю, как это проверить или переформатировать его в то, что может потребоваться.
Есть ли что-то вопиющее, что я сделал неправильно? Может кто-нибудь предложить последовательность fdisk, чтобы действительно убедиться, что все 1 базовый раздел отформатирован как ext4?
Вот моя документация о том, что я сделал для форматирования. Пожалуйста, поясните/дополните, если можете. Возможно, до этого была неудачная попытка gparted:
sudo fdisk /dev/sdb # this will pull up an interactive menu
n # create a new partition
p # create a primary partition
[enter] # use default value of 1 for the partition number
[enter] # use default value of 256 for first sector
[enter] # use default value for last sector
w # write these settings and leave the interactive menu
# make the file system
sudo mkfs.ext4 /dev/sdb1
решение1
о
sudo: cd: command not found
Это нормально. cd — встроенная команда оболочки. Это не значит, что целевой каталог не существует. Попробуйте "su - root", если вам нужно быть root, чтобы перейти в этот каталог, а затем cd в целевой каталог.
о том, что /dev/sdd не может быть смонтирован
/dev/sdd — это целый sd-диск (включая его главную таблицу разделов, все, даже неразмеченное пространство). Это не раздел. /dev/sdd1 — его первый раздел. И будьте осторожны: вы показываете, что хотите смонтировать /dev/sdd1, но вы показываете fdisk на /dev/sdb1 (другой диск! /dev/sdb отличается от /dev/sdd)
если этот новый диск будет делать резервные копии: вам следует вместо использования tar | ( cd dest ; tar ), который копирует все каждый раз (и не удаляет файлы/каталоги назначения, если они удалены на источнике), вам следует взглянуть на команду
rsync
. Особенно локально (но также при копировании в удаленное местоположение, поскольку rsync копирует только измененные части каждого измененного файла, а не весь файл). Ноостерегатьсяего использование: rsync может быть сложным поначалу. Не используйте опцию "--delete", пока не прочтете о ней побольше, она может стереть исходные или целевые файлы, если у них нет соответствия на другой стороне... см. различные способы указания исходных/целевых каталогов, иногда вы добавляете завершающий "/", иногда нет, в зависимости от того, как вы хотите, чтобы действовал rsync.
решение2
Я предполагаю, что проблема в том, что fdisk не работает с большими дисками. Он был заменен на parted
.
Это похоже на fdisk, просто обновлено для новых технологий. Предположим, что диск — /dev/sdb (проверьте с помощью sudo parted -l
):
sudo parted /dev/sdb
- mklabel (тип gpt)
- mkpart (ответы по умолчанию создают один раздел максимального размера)
- q для выхода из parted
sudo mkfs.ext4 /dev/sdb1
для создания файловой системы.
После этого это должно быть просто вопросом sudo mount /dev/sdb1 /media/external
. Было бы хорошей идеей убедиться, что вы являетесь владельцем каталога с помощьюsudo chown tarabyte.tarabyte /media/external
Я обычно использую rsync
для больших копий, даже локальных. Он имеет лучший вывод и легко возобновляется, если есть прерывания.
rsync -avh --progress /from-stuff /to-stuff
man rsync
Более подробную информацию см .