我真的不确定这是否可能,或者我将如何解决这个问题。
Filesystem Size Used Avail Use% Mounted on
udev 14G 12K 14G 1% /dev
tmpfs 2.8G 388K 2.8G 1% /run
/dev/sda1 30G 26G 2.6G 91% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 14G 0 14G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdb1 394G 54G 321G 15% /mnt
看起来我有足够的空间/dev/sdb1
,但我没有足够的空间/dev/sda1
。是否可以将千兆字节从 sdb1 移动到 sda1?
答案1
- /dev/sdX(“X”是一个字符,例如a、b、c...)-这代表块设备(可以是HDD、SSD或其他存储设备)
- /dev/sdXN(
/dev/sda1
并且/dev/sdb1
在你的df-命令输出) - 这代表/dev/sdX
设备上的特定分区。
您无法在不同存储设备之间移动“物理”存储空间(扇区、GB...)。
以下信息基于假设。请记住这一点。
我相信您的实际要求是在“/”安装点中有可用空间。您可以通过不同的方式实现这一目标。最简单的是将部分数据从...移动/dev/sda1
到/dev/sdb1
...
我认为这是一个好主意移动“用户”数据 /dev/sda1
到 /dev/sdb
。您的目录很可能/home
位于/dev/sda1
.
- 备份您的
/dev/sda1
和/dev/sdb1
卷! - 使用分区工具来缩小您的
/dev/sdb1
.例如,您可以使用gparted
.您需要为您的/home
目录释放足够的空间,包括您未来的需求。 - 添加新分区 (
/dev/sdb2
)。使用与之前相同的文件系统类型对其进行格式化/dev/sda1
。这将确保您能够/home
正确存储所有数据(包括访问权限等)。 (实际上“几乎所有” - 如果您的 /home 包含指向其他文件的硬链接,而这些文件不在 /home 中,您将无法将它们保留为硬链接。所有硬链接必须放置在一个文件系统中。) - 将所有数据从当前
/home
目录复制到/dev/sdb2
.您可以选择不同的工具,例如 -同步, 或者CP(两者都有适当的选项)。 - 从目录中删除所有内容
/home
。 - 安装
/dev/sdb2
在/home
.您可以让系统在引导期间执行自动挂载。请参阅您的发行版的文档以了解更多详细信息。
注意:在进行任何操作之前,请记住备份 /dev/sda 和 /dev/sdb 中的所有数据。
——更新:“我如何获取这些块设备上安装了哪些文件系统?” 看blkid
,mount
或者sudo parted -l
输出。
答案2
我认为大部分数据位于主目录(?)挂载/dev/sdb1
为/home
分区。移旧移home
新home
。 (或者usermod -d user
使用 to更改每个用户的主目录/mnt/home/user
并移动文件...)
答案3
按照所写的问题,不可能从一个空间中移动千兆字节的空间身体的设备到另一个设备。这些设备是:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 30G 26G 2.6G 91% /
/dev/sdb1 394G 54G 321G 15% /mnt
...由于/dev/sda
和/dev/sdb
结尾有不同的字母,它们可能是不同的物理设备,这是不可能的。
然而,一个人可以移动文件从/dev/sda1
到/dev/sdb1
。假设/dev/sda1
包含一个20G的文件/home/用户/foo.bar。执行mv /home/user/foo.bar /mnt/foo.bar
将使可用空间看起来像这样:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 30G 6G 22.6G 20% /
/dev/sdb1 394G 74G 301G 19% /mnt