如何将大型目录复制到外部硬盘Linux


1

我使用fdisk(实际上是gnu fdisk)将3TB外置硬盘格式化为ext4,将其安装在/ media / external上,并尝试将我的整个主目录复制到它。

我认为我的第一次尝试是成功的,但过了一段时间,当进程停止时,我无法进入复制的主目录。 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序列来确保一切都是格式化为ext4的1个基本分区吗?

这是我关于格式化的文档。如果可以,请澄清/补充。在此之前可能存在失败的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

sudo cd 没有任何意义。改变其当前工作目录然后终止的进程有什么意义?
David Schwartz

Answers:


0
  • 有关 sudo: cd: command not found

    那是正常的。 cd是内置的shell。这并不意味着目标目录不存在。如果你需要root用户去那个目录,然后cd到目的地,试试“su - root”。

  • 关于事实/ dev / sdd无法安装

    / dev / sdd是一个完整的sd磁盘(包括它的master partitino表,所有东西,甚至是未分区的空间)。它不是分区。 / dev / sdd1是它的第一个分区。并注意:您显示要挂载/ dev / sdd1,但是在/ dev / sdb1上显示fdisk(另一个磁盘!/ dev / sdb与/ dev / sdd不同)

  • 如果新驱动器要进行备份:你应该,而不是使用tar | (cd dest; tar),每次都会复制所有内容(如果在源上删除目标文件/目录,则不会删除目标文件/ dirs),你可以查看命令 rsync。特别是在本地(但也在复制到远程位置时,因为rsync只会复制每个已更改文件的更改部分,而不是整个文件)。但 谨防 它的用法:rsync起初可能很棘手。在阅读很多相关内容之前不要使用“--delete”选项,如果源文件或目标文件在另一侧没有匹配,它可能会将其删除...请参阅指定source / destinatino目录的不同方法,有时您会添加尾随的“/”,有时不会,这取决于您希望rsync如何操作。


1
谢谢大家的回复。我不能对他们中的任何人投票,因为我还没有声誉
tarabyte

谢谢你的警告。澄清原始帖子,他们在不同的计算机上。我在上网本上格式化并安装在另一个塔上,因此/ dev / sdd与/ dev / sdb是安全的
tarabyte

0

我猜你的问题是fdisk没有做大磁盘。它已被取代 parted

它与fdisk类似,只是针对更新的技术进行了更新。假设磁盘是/ dev / sdb(请检查 sudo parted -l ):

  1. sudo parted /dev/sdb
  2. mklabel(类型gpt)
  3. mkpart(默认anwswers制作一个最大大小的分区)
  4. q退出分手
  5. 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 了解更多信息。


我升级到gnu-fdisk来处理2TB限制,我猜fdisk有。我会尝试分手,谢谢你
tarabyte

在提示输入默认启动时按Enter键不起作用。我怎么知道我应该在这里放什么号码?
tarabyte

哦耶。我通常使用1,1兆字节。正确对齐。对于那个很抱歉。
ssmy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.