虚拟机Linux如何添加新硬盘?操作步骤与方法详解?

在虚拟机中为Linux系统添加硬盘是扩展存储容量的常见操作,无论是用于安装新应用、存储数据还是搭建服务环境,掌握这一技能都非常实用,本文将以VMware Workstation和VirtualBox两款主流虚拟机软件为例,结合Linux系统操作,详细讲解从虚拟机配置到系统识别、分区、格式化及挂载的全过程,帮助用户顺利完成硬盘添加任务。

虚拟机linux如何添加硬盘

虚拟机层面添加硬盘

在Linux系统识别新硬盘前,需先在虚拟机管理软件中添加虚拟硬盘设备,不同虚拟机软件操作略有差异,但核心步骤一致:创建虚拟硬盘文件并关联至虚拟机。

VMware Workstation添加硬盘

(1)关机或暂停虚拟机:为确保操作安全,建议先关闭Linux虚拟机(若支持热添加,也可在开机状态下操作,但部分场景可能受限)。
(2)进入虚拟机设置:在VMware主界面选中目标虚拟机,点击“虚拟机”→“设置”,或右键虚拟机选择“设置”。
(3)添加硬盘设备:在“硬件”选项卡中,点击“添加”,选择“硬盘”,点击“下一步”。
(4)配置硬盘类型:选择“SCSI”(推荐,性能较好,支持热插拔)或“SATA”(兼容性更好,无需额外驱动),点击“下一步”。
(5)创建新硬盘:选择“创建新虚拟磁盘”,点击“下一步”。
(6)设置硬盘参数

  • 磁盘大小:根据需求输入容量(如50GB),单位支持GB/MB/TB;
  • 磁盘格式:选择“厚置备延迟置零”(性能较好,初始占用全部空间)或“精简置备”(按需分配,节省空间);
  • 存储方式:默认“虚拟机文件夹中的单个文件”,也可拆分为多个文件(适用于超大硬盘)。
    完成后点击“下一步”,确认信息无误点击“完成”,返回虚拟机设置界面,点击“确定”保存配置。

VirtualBox添加硬盘

(1)关闭虚拟机:同VMware,建议先关机操作。
(2)进入存储设置:打开VirtualBox管理器,选中虚拟机,点击“设置”→“存储”。
(3)添加存储控制器:在“存储树”中,点击“没有磁盘控制器”下的“添加硬盘控制器”,选择“SATA控制器”(推荐)或“SCSI控制器”。
(4)创建虚拟硬盘:点击控制器右侧的“光盘图标”,选择“创建新的磁盘文件”。
(5)配置硬盘参数

  • 硬盘大小:输入目标容量(如100GB);
  • 硬盘文件类型:默认“VDI(VirtualBox磁盘映像)”,也可选VMDK(VMware兼容)或VHD(Hyper-V兼容);
  • 存储在物理硬盘上:选择“动态分配”(按需扩展,节省空间)或“固定大小”(预分配全部空间,性能较好)。
    完成后点击“创建”,返回存储设置界面,确认新硬盘已关联至SATA控制器(显示为“空”),点击“确定”保存。

Linux系统识别新硬盘

虚拟机添加硬盘后,Linux系统需通过扫描硬件设备识别新硬盘,不同接口类型的硬盘识别方式略有不同:

识别SATA/SCSI硬盘(常见)

(1)重启虚拟机:若添加硬盘时虚拟机已关机,重启后Linux通常会自动识别新硬盘;若开机添加,可尝试手动触发扫描。
(2)查看硬盘信息:登录Linux系统后,使用以下命令查看当前磁盘设备:

   lsblk          # 列出所有块设备,显示磁盘名称、大小、挂载点等信息
   fdisk -l       # 查看磁盘分区表,新硬盘通常显示为“/dev/sdb”“/dev/sdc”等(/dev/sda为系统盘)

若输出中出现未分区的磁盘(如“/dev/sdb 50G 0 50G disk”),则表示系统已识别新硬盘。

手动扫描SCSI硬盘(若未自动识别)

若使用SCSI接口且系统未自动识别,需加载相关模块并扫描总线:

echo "- - -" > /sys/class/scsi_host/host0/scan  # 扫描SCSI主机0(根据实际情况调整hostX)
lsblk          # 再次查看是否识别到新硬盘

对新硬盘进行分区

识别到新硬盘后,需对其进行分区才能使用,Linux常用分区工具为fdisk(MBR分区表)或parted(GPT分区表),本文以fdisk为例:

虚拟机linux如何添加硬盘

进入分区工具

假设新硬盘为/dev/sdb,执行:

fdisk /dev/sdb

创建分区

进入fdisk交互界面后,执行以下操作:

  • n:新建分区
    • 选择分区类型:p(主分区,最多4个)或e(扩展分区,可创建多个逻辑分区);
    • 分区编号:默认回车(从1开始);
    • 起始扇区:默认回车(从磁盘起始位置开始);
    • 结束扇区:输入+10G(创建10GB分区)或直接回车(使用全部剩余空间)。
  • p:查看分区表,确认分区信息(如“/dev/sdb1”)。
  • w:保存分区表并退出(若输入q则不保存退出)。

刷新分区信息

保存后,Linux需重新读取分区表:

partprobe /dev/sdb  # 刷新指定硬盘分区表
lsblk              # 确认分区已创建(如“/dev/sdb1 10G 0 10G part”)

格式化分区

分区后需格式化文件系统才能存储数据,常用文件系统为ext4(Linux主流),也可选xfs(大文件性能优)、swap(交换分区)等,本文以格式化ext4为例:

格式化分区

假设分区为/dev/sdb1,执行:

mkfs.ext4 /dev/sdb1  # 格式化为ext4文件系统

若需格式化为xfs:

mkfs.xfs /dev/sdb1

查看格式化结果

blkid /dev/sdb1  # 显示分区UUID、文件系统类型等信息

输出示例:/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4"

挂载分区并设置开机自动挂载

格式化后的分区需挂载至指定目录才能使用,同时需配置开机自动挂载,避免重启后失效。

虚拟机linux如何添加硬盘

创建挂载目录

mkdir /data  # 自定义挂载目录,如/data、/storage等

临时挂载

mount /dev/sdb1 /data  # 挂载分区至/data目录
df -hT                # 查看挂载结果,确认/dev/sdb1已挂载

永久挂载(开机自动生效)

编辑/etc/fstab文件,添加挂载信息(推荐使用UUID而非设备名,避免设备名变更导致挂载失败):

vim /etc/fstab

在文件末尾添加以下内容(以UUID和ext4为例):

UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /data ext4 defaults 0 2

字段说明:

  • UUID:分区的唯一标识(通过blkid获取);
  • /data:挂载目录;
  • ext4:文件系统类型;
  • defaults:挂载选项(包括rw读写、exec执行、auto自动挂载等);
  • 0:是否dump备份(0表示不备份);
  • 2:fsck磁盘检查顺序(0表示不检查,1为根分区,2为其他分区)。

保存后执行mount -a测试配置是否正确(无报错则成功):

mount -a

注意事项

  1. 数据备份:操作前务必备份虚拟机快照或重要数据,避免分区、格式化等操作失误导致数据丢失。
  2. 分区表选择:若硬盘容量超过2TB,建议使用GPT分区表(通过parted工具创建),MBR分区表最大支持2TB。
  3. 热插拔支持:SCSI和SATA(部分系统)硬盘支持热插拔,添加后可通过echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi(SCSI)或重启识别,无需关机。
  4. 权限问题:挂载目录默认权限为755,若需其他用户写入,可修改权限(如chmod 777 /data)或调整/etc/fstab中的umask值。

相关问答FAQs

Q1:添加硬盘后Linux系统无法识别新硬盘,如何解决?
A:可能原因及解决方法:

  1. 虚拟机未重启:若添加硬盘时虚拟机开机,尝试重启虚拟机或手动扫描硬件(如SCSI硬盘执行echo "- - -" > /sys/class/scsi_host/host0/scan);
  2. 硬盘接口驱动缺失:确认Linux系统已加载对应接口驱动(如SATA驱动通常已内置,SCSI可能需安装scsi_mod等模块);
  3. 虚拟机配置错误:检查虚拟机设置中硬盘是否正确关联至控制器(如SATA硬盘需挂载到SATA控制器而非IDE);
  4. 硬盘文件损坏:重新创建虚拟硬盘文件,确保格式正确(如VDI/VMDK)。

Q2:如何扩容已挂载的分区(如根分区)?
A:扩容分区需分场景处理:

  1. LVM逻辑卷扩容(推荐):
    • 扩展LV:lvextend -L +10G /dev/mapper/vg_root-lv_root(增加10GB);
    • 调整文件系统:resize2fs /dev/mapper/vg_root-lv_root(ext4)或xfs_growfs /(xfs)。
  2. 普通分区扩容(需卸载分区):
    • 卸载分区:umount /dev/sda1
    • 调整分区大小:fdisk /dev/sda(删除分区后重新创建,保留数据需谨慎);
    • 刷新文件系统:resize2fs /dev/sda1
      注意:普通分区扩容风险较高,建议提前备份数据,优先使用LVM管理磁盘。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/36183.html

(0)
酷番叔酷番叔
上一篇 2025年10月5日 05:51
下一篇 2025年10月5日 06:11

相关推荐

  • Linux文件编码如何转为UTF-8?

    在Linux系统中,字符编码的统一是确保文本文件正常显示、程序正确运行的关键,UTF-8作为目前最广泛使用的Unicode编码实现,能够兼容全球大多数语言字符,因此在Linux环境下将其他编码(如GBK、ISO-8859-1、UTF-16等)转换为UTF-8是常见需求,本文将详细说明Linux下转换文件编码为U……

    2025年10月2日
    1100
  • Linux服务安装包的安装方法与步骤是怎样的?

    Linux作为开源操作系统,其服务的安装与管理是系统运维的核心环节,服务通常指在后台持续运行的程序(如Web服务器、数据库、邮件服务等),通过合理安装和配置服务包,可高效实现系统功能部署,本文将详细讲解Linux系统中服务的安装包管理方法,涵盖主流包管理器工具、源码编译、跨平台包格式及服务管理命令,帮助用户全面……

    2025年10月5日
    1100
  • Linux如何通过命令行设置系统时间?

    Linux系统中的时间管理是系统运维的基础操作,涉及系统时间(由内核维护)和硬件时间(由主板CMOS/BIOS保存)的同步与设置,正确配置时间不仅能确保日志记录的准确性,还能避免依赖时间敏感的服务(如证书认证、数据库事务)出现异常,本文将详细介绍Linux系统中设置时间的多种方法,包括时区调整、手动时间设置、时……

    2025年9月23日
    1700
  • Linux运行程序脚本如何兼顾安全与效率?

    运行可执行程序直接运行(需执行权限) chmod +x program_name # 添加执行权限 ./program_name # 执行当前目录下的程序关键点:Linux默认不搜索当前目录(安全机制),必须用 显式指定路径,若程序在系统路径(如 /usr/bin),可直接输入程序名(如 firefox),指定……

    2025年7月30日
    3800
  • 如何安全删除Linux用户的系统文件夹?

    在Linux系统中删除文件夹是一项需要谨慎操作的任务,尤其是涉及系统关键目录或用户重要数据时,错误的删除操作可能导致数据丢失、程序异常甚至系统崩溃,本文将详细介绍删除Linux系统文件夹的正确方法、常用命令、安全注意事项及常见问题处理,帮助用户安全高效地完成文件夹删除操作,删除前的准备工作在执行删除操作前,必须……

    2025年9月13日
    2600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信