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

相关推荐
钮钴禄·爱因斯晨14 分钟前
Linux(一) | 初识Linux与目录管理基础命令掌握
linux·运维·服务器
AllyLi022418 分钟前
CondaError: Run ‘conda init‘ before ‘conda activate‘
linux·开发语言·笔记·python
Coision.38 分钟前
linux 网络:并发服务器及IO多路复用
linux·服务器·网络
jingfeng5141 小时前
线程池及线程池单例模式
linux·开发语言·单例模式
Lethehong2 小时前
保姆级教程 | 在Ubuntu上部署Claude Code Plan Mode全过程
linux·命令行
Eloudy2 小时前
AlmaLinux 上 Python 3.6 切换到 Python 3.11
linux·almalinux8
我智商开挂3 小时前
嵌入式Linux(Exynos 4412)笔记
linux·运维·arm开发
shylyly_3 小时前
Linux->多线程4
java·linux·开发语言·信号量·环形队列
sunny052963 小时前
Linux shell getopts 解析命令行参数
linux·运维·bash·shell