debian转移根目录

如何在 BIOS 启动的 Debian 虚拟机中将根目录转移到 /dev/sda 设备上?本文将从硬盘分区,根目录复制,重新启动等几个方面介绍。

硬盘分区

1.检查磁盘:查看当前的磁盘和分区情况,确认新添加的磁盘设备名称。

sh 复制代码
parted -l

2.创建分区表:

进入parted环境

sh 复制代码
parted /dev/sda 

进入后出现(parted)提示

3.查看当前分区表

复制代码
print

清除旧分区表(如果需要)

复制代码
mklabel msdos

创建 GPT 分区表

复制代码
 mklabel gpt

4.创建分区

创建启动分区(/boot)

复制代码
mkpart primary ext4 1MB 513MB

创建根分区(/)

复制代码
mkpart primary ext4 513MB 100%

5.设置启动标志

设置第一个分区(/boot)为启动分区

复制代码
set 1 boot on

6.退出 parted

复制代码
quit

7.格式化分区

格式化启动分区

sh 复制代码
sudo mkfs.ext4 /dev/sda1

格式化根分区

sh 复制代码
sudo mkfs.ext4 /dev/sda2

8.挂载分区:

创建一个临时挂载点

sh 复制代码
mkdir /mnt/newroot

挂载分区

sh 复制代码
mount /dev/sda2 /mnt/newroot
mount /dev/sda1 /mnt/newroot/boot

复制根目录

1.复制

sh 复制代码
rsync -aAXv --exclude={"dev/*","proc/*","sys/*","tmp/*","run/*","mnt/*","media/*"} / /mnt/newroot/

这个命令会同步所有文件和目录,但排除了一些动态挂载的系统目录。

2.更新 /etc/fstab:

• 编辑 /etc/fstab 文件,将根目录的挂载点从原来的设备指向 /dev/sda1。可以使用 blkid 命令获取新分区的 UUID,然后在 /etc/fstab 中更新对应的 UUID。

sh 复制代码
blkid /dev/sda1
blkid /dev/sda2
sh 复制代码
vim /etc/fstab

UUID=<新分区的UUID> / ext4 defaults 0 1

替换<新分区的UUID>

3.安装 GRUB 引导程序

更新 GRUB 配置

sh 复制代码
mount --bind /dev /mnt/newroot/dev
mount --bind /proc /mnt/newroot/proc
mount --bind /sys /mnt/newroot/sys
sh 复制代码
chroot /mnt/newroot
grub-install /dev/sda
update-grub

这些命令会将 GRUB 安装到 /dev/sda 上,并更新 GRUB 配置文件。

退出 chroot 环境

sh 复制代码
exit
umount /mnt/newroot/dev
umount /mnt/newroot/proc
umount /mnt/newroot/sys
umount /mnt/newroot/boot
umount /mnt/newroot

重启虚拟机

sh 复制代码
sudo reboot

验证

sh 复制代码
mount | grep /

确认根目录已经正确挂载到 /dev/sda1 上。

相关推荐
码农新猿类23 分钟前
服务器本地搭建
linux·网络·c++
小度爱学习31 分钟前
linux中的执行命令格式及命令帮助
linux·运维·chrome
良许Linux1 小时前
嵌入式算吃青春饭么?
linux
良许Linux1 小时前
马上要毕业去工作了,做嵌入式软件开发工程师,但是完全不会编程怎么办?
linux
良许Linux1 小时前
学stm32,有什么学习方法?
linux
良许Linux1 小时前
为啥有好多人说 Arduino 是玩具?
linux
独行soc1 小时前
2025年常见渗透测试面试题-红队面试宝典下(题目+回答)
linux·运维·服务器·前端·面试·职场和发展·csrf
mosaicwang2 小时前
dnf install openssl失败的原因和解决办法
linux·运维·开发语言·python
想躺在地上晒成地瓜干2 小时前
树莓派超全系列教程文档--(24)本地化设置、SSH及配置防火墙
linux·ssh·树莓派·raspberrypi·树莓派教程
小丁爱养花2 小时前
驾驭 Linux 云: JavaWeb 项目安全部署
java·linux·运维·服务器·spring boot·后端·spring