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

相关推荐
巫山老妖30 分钟前
Linux流量分析:tcpdump&wireshark
linux·嵌入式
秃秃秃秃哇32 分钟前
ubuntu18编译RealSense SDK 2.0
linux
神也佑我橙橙34 分钟前
Ubuntu 22.04 安装英伟达驱动
linux·ubuntu·nvidia
不喝水的鱼儿40 分钟前
Ubuntu 25.04安装搜狗输入法
linux·运维·ubuntu
不脱发的程序猿2 小时前
Linux守护进程
linux·嵌入式
GuokLiu11 小时前
250708-Debian系统安装Edge浏览器并配置最小中文输入法
运维·edge·debian
Two_brushes.11 小时前
【linux 网络】网络基础
linux·网络
Code Warrior11 小时前
【Linux】基础开发工具(3)
linux·服务器
鬼才血脉12 小时前
Linux(centos)安装 MySQL 8
linux·mysql·centos
guygg8812 小时前
ubuntu手动编译VTK9.3 Generating qmltypes file 失败
linux·运维·ubuntu