当前位置: 首页 > news >正文

debian转移根目录

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

硬盘分区

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

parted -l

2.创建分区表:
进入parted环境

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.格式化分区
格式化启动分区

sudo mkfs.ext4 /dev/sda1

格式化根分区

sudo mkfs.ext4 /dev/sda2

8.挂载分区:
创建一个临时挂载点

mkdir /mnt/newroot

挂载分区

mount /dev/sda2 /mnt/newroot
mount /dev/sda1 /mnt/newroot/boot

复制根目录

1.复制

rsync -aAXv --exclude={"dev/*","proc/*","sys/*","tmp/*","run/*","mnt/*","media/*"} / /mnt/newroot/

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

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

blkid /dev/sda1
blkid /dev/sda2
vim /etc/fstab

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

3.安装 GRUB 引导程序
更新 GRUB 配置

mount --bind /dev /mnt/newroot/dev
mount --bind /proc /mnt/newroot/proc
mount --bind /sys /mnt/newroot/sys
chroot /mnt/newroot
grub-install /dev/sda
update-grub

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

exit
umount /mnt/newroot/dev
umount /mnt/newroot/proc
umount /mnt/newroot/sys
umount /mnt/newroot/boot
umount /mnt/newroot

重启虚拟机

sudo reboot

验证

mount | grep /

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

http://www.dtcms.com/a/130488.html

相关文章:

  • Java泛型程序设计(持续更新)
  • Kubernetes节点驱逐机制详解:保障集群稳定性的最后防线
  • 学Qt笔记
  • 计算机的运算方式
  • opencv实际应用--银行卡号识别
  • 探秘数据库连接池:HikariCP与Tomcat JDBC
  • Allpairs工具下载及操作流程(联动Deepseek)
  • Deepseek Bart模型相比Bert的优势
  • 生成与强化学习:赋予VLA系统物理行动能力
  • 定时器介绍及简单应用
  • 双Token实现用户登录身份认证-Java版
  • numpy练习
  • kubernetes常见Pod状态
  • 八股面经【2025/4/13】
  • 《算法导论》Ch.17_学习笔记
  • L1-6 大勾股定理
  • CST1018.基于Spring Boot+Vue滑雪场管理系统
  • 经典SQL练习题50道
  • 【数字图像处理】机器视觉基础
  • 分布式日志治理:Log4j2自定义Appender写日志到RocketMQ
  • YOLO V8的​​Anchor-Free​​、​​解耦头(Decoupled Head)、损失函数定义(含​​Varifocal Loss)
  • android display 笔记(十一)surfaceflinger 如何将图层传到lcd驱动的呢?
  • 指针入门C++
  • wkhtmltopdf 实现批量对网页转为图片的好工具,快速实现大量卡片制作
  • 数学建模学习资料免费分享:历年赛题与优秀论文、算法课程、数学软件等
  • Java基础自学(1):一个简单的Java程序
  • 如何使用PyCharm自动化测试
  • 医药采购系统平台第4天03:实现根据用户的角色显示不同用户的权限菜单编写拦截器实现权限拦截模块的开发流程和测试流程小节
  • FileReader 详细解析与记忆方法
  • DataEase同比环比