我已使用 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/sdd1/dev/sdd
上显示的sudo fdisk -l
但未显示的。
格式化时,我使用了最默认的设置,即 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 是 shell 内置命令。这并不意味着目标目录不存在。如果您需要以 root 身份进入该目录,请尝试“su - root”,然后 cd 到目标。
关于无法挂载 /dev/sdd 的事实
/dev/sdd 是整个 sd 磁盘(包括其主分区表、所有内容,甚至未分区的空间)。它不是分区。/dev/sdd1 是其第一个分区。请注意:您显示要挂载 /dev/sdd1 ,但您在 /dev/sdb1 上显示了 fdisk(另一个磁盘!/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
以了解更多信息。