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 上。

相关推荐
A星空1233 分钟前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
释怀不想释怀8 分钟前
Linux环境变量
linux·运维·服务器
zzzsde14 分钟前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
凡人叶枫25 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
yuanmenghao1 小时前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_297574671 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
crmscs1 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
70asunflower1 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
神梦流2 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++