尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ubuntu系统跨硬件迁移至VMware:克隆与磁盘镜像两种方案详解

Ubuntu系统跨硬件迁移至VMware:克隆与磁盘镜像两种方案详解 1. 项目概述与核心价值最近在整理开发环境时遇到了一个挺实际的需求我有一台用了很久的台式机上面跑着一个精心配置好的Ubuntu系统里面装满了各种开发工具、环境变量、项目代码和一堆只有自己才知道怎么用的脚本。现在因为工作变动需要把这个“吃饭的家伙”完整地迁移到一台新的笔记本电脑上并且希望它能在新电脑的VMware虚拟机里无缝运行。这听起来像是个简单的文件拷贝但实际操作过的人都知道直接把虚拟机文件比如.vmdk虚拟磁盘复制过去十有八九会启动失败报各种找不到磁盘、网络配置错误或者驱动不兼容的问题。这本质上是一个物理机或虚拟机系统的跨硬件平台迁移而不仅仅是文件复制。这个操作的核心价值在于效率与一致性。对于一个深度定制的系统重装一遍系统、配置开发环境、安装依赖库、恢复项目数据没有一整天根本下不来而且很难保证和原来的环境百分百一致任何一个微小的版本差异都可能导致项目跑不起来。而成功的系统拷贝能让你在几分钟内就在新电脑上获得一个与旧环境完全一致的、立即可用的工作空间所有配置、数据、甚至打开的终端标签页如果你保存了会话都原封不动。这对于开发者、运维人员或者任何依赖特定Linux环境工作的人来说无疑能节省大量重复劳动时间。围绕“Ubuntu系统拷贝到VMware”这个主题网络上相关的搜索词非常集中比如“vmware虚拟机安装ubuntu”、“ubuntu系统镜像文件”、“cp拷贝命令”等这恰恰说明了大家普遍遇到的痛点知道要拷贝但不知道如何正确地、完整地迁移一个可启动的系统。本文将从一个实践者的角度拆解两种最主流、最可靠的迁移方案并深入每一步背后的原理和避坑指南让你不仅能“抄作业”更能理解为什么这么做。2. 迁移方案选型与底层原理剖析在动手之前我们必须先理解为什么直接复制虚拟机文件会失败以及有哪些成熟的方案可以规避这些问题。这决定了我们后续所有操作的走向。2.1 为何不能简单复制虚拟机磁盘文件很多人第一个想到的方法是找到旧Ubuntu虚拟机所在的文件夹把里面最大的那个.vmdk虚拟磁盘文件和.vmx虚拟机配置文件直接拷贝到新电脑的VMware里然后添加现有虚拟机。这个方法对于在同一台宿主机上复制或移动虚拟机是可行的但跨电脑、尤其是跨不同硬件的电脑时大概率会出问题。主要原因有三点硬件抽象层差异VMware虚拟机配置文件.vmx里包含了虚拟硬件的详细信息如虚拟CPU型号、核心数、虚拟主板芯片组、BIOS/UEFI固件类型、网络适配器型号e1000e, vmxnet3等、显卡类型等。当你在新电脑上启动这个复制的虚拟机时VMware会基于新宿主机的硬件和能力来实例化这些虚拟设备。如果新旧宿主机的CPU指令集如Intel vs AMD或不同代际、虚拟化支持VT-x/AMD-V有细微差异就可能导致虚拟机启动时CPU指令模拟出错。磁盘控制器与驱动这是最常见的坑。虚拟机磁盘是挂载在某个虚拟控制器如SCSI, SATA, NVMe上的。配置文件里会明确记录磁盘挂载的控制器类型如lsilogic,pvscsi,nvme和总线位置如scsi0:0。如果旧虚拟机用的是pvscsi控制器而新VMware环境默认或你的配置指向了lsilogic那么系统启动时内核就找不到根文件系统所在的磁盘导致启动失败卡在initramfs命令行界面。网络与设备唯一标识虚拟机有唯一的UUID存储在.vmx中网络适配器有唯一的MAC地址。直接复制可能会导致网络冲突如果同一局域网内有两个相同MAC的机器或者VMware Tools等依赖于系统标识的软件出现异常。理解了这些我们就知道一个健壮的迁移方案必须能处理或重置这些与底层硬件绑定的配置。2.2 两种主流迁移方案深度对比基于上述挑战实践中主要有两种经过验证的高成功率方案方案一利用VMware自带的“克隆”与“导出为OVF”功能这是最官方、最省心的方法特别适合源系统本身就是VMware虚拟机的情况。其核心思想是让VMware自己来处理硬件兼容性转换。优点自动化程度高VMware内置的克隆和OVF导出/导入流程会自动调整虚拟机配置使其符合目标VMware版本如Workstation Pro 17的默认或最佳硬件兼容性设置。格式通用OVF开放虚拟化格式是一种标准打包格式包含了虚拟机配置、磁盘描述和文件可以被不同版本的VMware甚至其他虚拟化平台如VirtualBox识别迁移兼容性更好。干净克隆操作可以创建一个新的、独立的虚拟机副本避免UUID、MAC地址冲突。缺点依赖源虚拟机状态你必须能正常启动并运行源Ubuntu虚拟机才能进行克隆或导出。文件体积可能较大OVF打包时默认会将动态增长的虚拟磁盘.vmdk转换为“厚置备”格式导致打包文件体积等于磁盘最大容量占用大量传输和存储空间。方案二创建系统磁盘镜像DD或Clonezilla并重建虚拟机这是一种更底层、更强大的方法适用于源系统是物理机、其他虚拟机平台如VirtualBox的虚拟机或者源VMware虚拟机已无法启动的情况。其原理是直接对磁盘分区进行扇区级的完整备份。优点适用范围极广不关心源系统来自哪里只对磁盘数据操作。物理机迁移到虚拟机P2V的核心技术。可修复性强得到的磁盘镜像文件是“原材料”我们可以在新建虚拟机时自由指定任何兼容的磁盘控制器类型从而解决启动问题。可选择性备份可以使用工具如Clonezilla进行全盘或分区备份更灵活。缺点操作步骤较多涉及制作Live USB、备份、恢复、配置引导等多个环节对新手有一定门槛。需要额外工具需要准备一个Ubuntu Live USB或Clonezilla Live USB来执行备份操作。对于大多数从一台电脑的VMware迁移到另一台电脑VMware的用户方案一是首选。下文将首先详细讲解方案一的操作流程与每一个细节方案二将作为高级备用方案在后续章节阐述。3. 方案一实操使用VMware克隆与OVF标准迁移这个方案的核心流程是在旧电脑上对源Ubuntu虚拟机进行“克隆”或“导出为OVF”然后将生成的文件包拷贝到新电脑最后“导入OVF”创建新虚拟机。3.1 源虚拟机准备与优化在开始克隆或导出前花几分钟时间优化一下源虚拟机能让迁移过程更顺畅新系统更干净。清理无用空间关键步骤 启动你的Ubuntu虚拟机。首先清理系统内的临时文件、包缓存等。sudo apt clean # 清理APT缓存包 sudo apt autoremove # 删除自动安装且不再需要的包如果你的虚拟磁盘是“动态分配”的清理系统文件并不会自动缩小.vmdk文件。为了减少最终传输文件的大小建议用零填充空闲空间然后让VMware工具进行压缩。# 创建一个填充零的大文件然后删除它。这会使磁盘空闲空间在文件系统层面被“零”填充。 sudo dd if/dev/zero of/zero.fill bs1M sudo rm -f /zero.fill注意dd命令会占用所有剩余空间确保你有足够空间运行此命令或者可以先删除一些大文件如下载缓存、Docker镜像等。执行后df -h查看的已用空间会增加这是正常的。安装/更新VMware Tools或Open-VM-Tools 确保虚拟机内安装了最新版本的VMware Tools。对于现代Ubuntu18.04及以上推荐直接使用开源替代品open-vm-tools它通常已预装或更容易安装。sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop # 安装桌面增强功能如果使用GUI安装后最好重启一次虚拟机。VMware Tools提供了虚拟机与宿主机更好的集成如剪贴板共享、动态分辨率调整并且在克隆/导出时可能有助于优化。关闭虚拟机完成清理和优化后正常关闭Ubuntu虚拟机。务必不要挂起要完全关机。3.2 执行克隆或导出操作在旧电脑的VMware Workstation或Player中右键点击已关闭的源Ubuntu虚拟机。方法A克隆虚拟机推荐用于VMware到VMware选择“管理” - “克隆”。“克隆源”选择“虚拟机中的当前状态”。“克隆类型”选择**“创建完整克隆”**。完整克隆是一个完全独立的副本性能更好。链接克隆虽然省空间但迁移麻烦不推荐。为新克隆的虚拟机命名并选择存储位置建议选一个剩余空间大的地方。点击“完成”开始克隆。这个过程会读取整个虚拟磁盘并写入新文件耗时取决于磁盘大小和速度。方法B导出为OVF兼容性更佳选择“文件” - “导出为OVF...”。选择导出目录。你会看到VMware开始准备最终生成一个.ovf描述文件、一个.mf清单文件可选和一个或多个.vmdk磁盘文件。格式选择通常选择“OVF 1.0”格式即可兼容性最好。如果目标VMware版本很新也可以选2.0。在“高级”选项中强烈建议勾选“将磁盘文件作为单个文件导出”。这样会生成一个巨大的.vmdk文件厚置备而不是多个2GB分片管理起来更方便。实操心得如果你打算长期归档这个虚拟机或者在不确定目标平台的情况下迁移导出为OVF是更优选择。克隆虽然快但生成的文件依然是VMware原生格式理论上官方的OVF标准格式跨平台能力更强。3.3 文件传输与目标端导入现在你将得到一个文件夹克隆的虚拟机文件夹或OVF导出文件包。将其拷贝到新电脑上。对于大文件使用移动硬盘、高速U盘或局域网共享如SMB都是不错的选择。在新电脑的VMware中如果是克隆的文件夹直接使用“文件” - “打开”浏览到文件夹内的.vmx文件并打开。VMware会将其添加进来。首次启动前最好右键虚拟机 - “设置”检查一下硬件兼容性是否为当前VMware版本并看一眼硬盘控制器类型我们后面会讲如何修改。如果是OVF文件包使用“文件” - “打开”选择.ovf文件。VMware会启动“导入虚拟机”向导。按照提示选择存储路径建议放在SSD上以获得更好性能确认硬件配置。导入过程实质上是将OVF格式转换回VMware原生格式。传输后重要检查无论哪种方式在新VMware中看到虚拟机后先不要启动。右键虚拟机 - “设置”做以下检查内存和CPU根据新电脑的配置适当调整。网络适配器确认连接方式如NAT、桥接是否符合你的需求。硬盘SCSI控制器这是重点记下控制器类型如“LSI Logic SAS”。如果后续启动失败很可能需要修改这里。3.4 首次启动与故障排查激动人心的时刻到了启动新迁移过来的虚拟机。情况一顺利启动。恭喜你迁移成功了一大半。系统可能会因为检测到新硬件虚拟硬件而重新配置一些服务比如网络。等待它进入桌面或命令行即可。情况二启动失败卡在Grub或黑屏。这可能与引导模式有关。旧虚拟机可能是BIOS引导而新VMware默认创建的是UEFI虚拟机或反之。你需要进入虚拟机设置 - “选项” - “高级” - “固件类型”在“BIOS”和“UEFI”之间切换尝试。情况三最常见的问题——启动后进入(initramfs)救援shell提示无法找到根设备。这几乎可以断定是磁盘控制器驱动不匹配。解决磁盘控制器驱动问题强制关闭虚拟机。进入虚拟机设置 - “硬盘” - “高级”。查看“虚拟设备节点”例如SCSI 0:0。重点看“SCSI控制器”类型。尝试更改它如果原来是LSI Logic改为LSI Logic SAS。如果原来是VMware Paravirtual (pvscsi)改为LSI Logic。对于较新系统和VMware版本也可以尝试改为NVMe控制器需要先在设置中添加NVMe控制器再将硬盘挂载上去。每次更改后尝试启动。总有一种组合能让内核正确识别磁盘。如果更改控制器后能进入系统但发现之前的数据盘非系统盘不见了那是因为磁盘文件还在但挂载点/dev/sdb1等可能因控制器变化而改变了。需要进入系统后使用sudo fdisk -l或lsblk查看新磁盘标识然后修改/etc/fstab中的挂载配置。4. 方案二实操使用磁盘镜像进行底层迁移当方案一不可行时例如源系统是物理机或虚拟机已损坏我们可以采用这种“釜底抽薪”的方法。其核心是使用dd或Clonezilla对源磁盘制作一个完整的、扇区对扇区的镜像然后将这个镜像作为虚拟磁盘挂载到新建的虚拟机中。4.1 制作Ubuntu Live USB与备份源系统首先在新或旧电脑上准备一个Ubuntu安装U盘即Live USB。你可以从Ubuntu官网下载ISO镜像使用RufusWindows或dd命令Linux/Mac将其写入U盘。启动到Live环境如果备份物理机将Live USB插入物理机重启并从U盘启动选择“Try Ubuntu”。如果备份旧电脑上的虚拟机在VMware中为虚拟机连接Ubuntu Live ISO镜像作为光驱并从光驱启动。识别磁盘分区进入Live桌面后打开终端。使用sudo fdisk -l或图形化工具“GParted”来识别你的源系统磁盘。通常主系统盘是/dev/sda或/dev/nvme0n1。记下它的设备名。使用DD命令创建原始镜像全盘备份 这是一个经典但需要谨慎的操作。假设源磁盘是/dev/sda你有一个足够大的外部硬盘挂载在/media/ubuntu/external。sudo dd if/dev/sda of/media/ubuntu/external/ubuntu_backup.img bs4M statusprogressif/dev/sda: 输入文件即源磁盘。of...: 输出文件即镜像文件路径。bs4M: 块大小设为4MB可以在速度和内存占用间取得较好平衡。statusprogress: 显示复制进度和速度。警告dd命令非常强大且危险务必确认if输入参数绝对正确否则可能抹掉宝贵数据。整个备份过程耗时很长取决于磁盘大小和速度。更推荐使用Clonezilla进行智能备份 Clonezilla是一个专业的磁盘克隆开源工具功能更强大、更安全。你可以制作一个Clonezilla Live USB。启动Clonezilla选择“device-image”模式磁盘到镜像文件。选择存储镜像文件的分区你的外部硬盘。选择源磁盘/dev/sda。选择备份模式。对于迁移到虚拟机选择“savedisk”将整个磁盘备份为一个镜像文件。可以选择压缩如gz以减小镜像体积。 Clonezilla会引导你完成剩余步骤最终生成一个包含磁盘镜像和校验信息的文件夹。4.2 在新电脑VMware中从镜像恢复系统备份完成后将镜像文件.img或Clonezilla生成的文件夹拷贝到新电脑。创建新虚拟机在新电脑的VMware中创建一个新的虚拟机。在“安装客户机操作系统”步骤选择“稍后安装操作系统”。客户机操作系统选择“Linux”版本选择“Ubuntu 64位”根据你的源系统选择。关键步骤在“指定磁盘容量”时选择“使用现有虚拟磁盘”。然后点击“浏览”但这里无法直接选择.img文件。所以先随意创建一个磁盘比如1GB完成虚拟机创建。转换并替换虚拟磁盘 现在需要将我们备份的原始磁盘镜像.img转换为VMware能识别的.vmdk格式。VMware自带一个命令行工具qemu-img在VMware安装目录下如C:\Program Files (x86)\VMware\VMware Workstation或者更通用的qemu-img工具可以完成这个转换。 打开新电脑的命令行Windows CMD或PowerShell进入存放ubuntu_backup.img的目录执行# 找到qemu-img.exe的路径或者如果你安装了QEMU直接使用 C:\Program Files (x86)\VMware\VMware Workstation\qemu-img.exe convert -f raw -O vmdk ubuntu_backup.img ubuntu_restored.vmdk-f raw: 指定输入格式为原始镜像dd生成的格式。-O vmdk: 指定输出格式为vmdk。 转换完成后你会得到一个ubuntu_restored.vmdk文件和一个ubuntu_restored-flat.vmdk文件数据文件。替换虚拟机磁盘文件找到你刚创建的那个虚拟机的目录里面有一个小的.vmdk文件。删除这个小的.vmdk文件或者先备份后删除。将上一步转换生成的ubuntu_restored.vmdk和ubuntu_restored-flat.vmdk复制到这个虚拟机目录。将ubuntu_restored.vmdk重命名为原来那个被删除的.vmdk文件的名称通常是Ubuntu.vmdk。注意只重命名.vmdk描述文件不要重命名-flat.vmdk数据文件。用文本编辑器打开虚拟机目录下的.vmx配置文件搜索原有磁盘文件的名称确保其指向你新重命名的文件。配置虚拟机硬件与首次启动 现在打开VMware打开这个虚拟机。进入设置。内存和CPU根据源系统配置和新电脑性能调整。硬盘控制器这是成功的关键由于我们是从物理磁盘或其他环境迁移过来的默认的控制器很可能不对。在“硬盘”设置里尝试不同的SCSI控制器类型LSI Logic, LSI Logic SAS, VMware Paravirtual。一个经验法则对于较老的Ubuntu如16.04尝试LSI Logic对于较新的18.04尝试LSI Logic SAS或VMware Paravirtual。网络适配器根据需求设置。显示如果使用GUI将图形内存调大一些如4GB并选中“加速3D图形”。保存设置后启动虚拟机。你可能会遇到和方案一中类似的启动问题如根设备找不到解决方法也相同尝试切换硬盘控制器类型和固件类型BIOS/UEFI。5. 迁移后的系统调优与问题修复成功启动进入迁移后的Ubuntu系统只算完成了80%的工作。剩下的20%是让系统在新虚拟环境中稳定、高效地运行。5.1 更新驱动与VMware Tools系统虽然启动了但可能还在使用通用的驱动。首先更新包列表并升级所有软件sudo apt update sudo apt upgrade -y然后确保安装最适合当前虚拟硬件的驱动和工具# 安装open-vm-tools如果之前是物理机或未安装 sudo apt install open-vm-tools open-vm-tools-desktop # 安装linux-virtual内核可选这是一个为虚拟化环境优化的内核 # sudo apt install linux-virtual # 安装后需要重启并选择新内核启动重启后VMware Tools的功能如自适应分辨率、文件夹共享、时间同步应该能正常工作了。5.2 处理网络与主机名问题迁移后网络接口名称可能会改变例如从ens33变成ens160这是因为systemd根据网络设备的固件信息或物理位置生成的名字可能因虚拟硬件变化而不同。检查当前网络接口名ip addr show如果网络不通检查/etc/netplan/下的配置文件如01-netcfg.yaml将里面的接口名改为新的。修改主机名如果需要sudo hostnamectl set-hostname new-hostname并同步修改/etc/hosts文件中的对应条目。5.3 重新生成SSH主机密钥这是一个重要的安全步骤。如果虚拟机是克隆的或从镜像恢复的它的SSH主机密钥和源系统一模一样。这意味着任何连接过旧系统的主机都会认为新系统是“可信的”这存在安全风险。# 删除旧的SSH主机密钥 sudo rm /etc/ssh/ssh_host_* # 重新生成SSH主机密钥 sudo dpkg-reconfigure openssh-server执行后重启SSH服务sudo systemctl restart ssh。之后其他主机首次连接时会看到新的指纹警告这是正常的。5.4 检查磁盘挂载与fstab如果你在源系统中有挂载其他数据分区或磁盘并且迁移后尤其是方案二发现它们不见了需要检查/etc/fstab文件。使用lsblk -f或sudo blkid查看当前所有磁盘分区的UUID和文件系统类型。编辑/etc/fstabsudo nano /etc/fstab将里面旧的设备标识如/dev/sdb1或旧的UUID替换为当前查看到的新的UUID。使用UUID是最可靠的方式因为它不会随控制器类型变化而改变。# 将类似这样的行 /dev/sdb1 /mnt/data ext4 defaults 0 2 # 改为 UUID你的数据分区UUID /mnt/data ext4 defaults 0 2保存后测试挂载sudo mount -a。如果没有报错说明配置正确。6. 常见问题排查与实战技巧实录即使按照步骤操作迁移过程中也可能遇到各种“坑”。这里记录了一些典型问题及其解决方案都是我或同行在实践中踩过的。6.1 启动时卡在“GRUB”或“GNU GRUB version x.x”界面现象虚拟机启动后黑屏显示GRUB引导菜单或者直接是grub命令行提示符。原因引导记录GRUB损坏或找不到引导文件。在跨硬件迁移时磁盘标识变化可能导致GRUB配置失效。解决方案在GRUB菜单界面如果能看到按c键进入命令行。手动指定根分区和内核启动这需要你知道Linux根分区的位置grub ls # 列出所有磁盘分区找到你的Linux分区如(hd0,gpt1) grub set root(hd0,gpt1) grub linux /boot/vmlinuz-5.15.0-xx-generic root/dev/sda1 # 根据你的实际情况修改内核版本和根分区 grub initrd /boot/initrd.img-5.15.0-xx-generic grub boot如果能成功启动进入系统立即在终端里修复GRUBsudo update-grub sudo grub-install /dev/sda # 注意这里的/dev/sda是你的虚拟磁盘不是分区如果看不到GRUB菜单你可能需要从Live USB启动然后chroot进系统去修复GRUB这个过程更复杂一些。6.2 系统启动后屏幕分辨率异常或无法自适应现象进入Ubuntu桌面后分辨率固定为低分辨率如1024x768无法调整。原因VMware SVGA显示驱动没有正确安装或加载。这通常是因为VMware Tools或open-vm-tools-desktop没有安装或者安装的版本不对。解决方案首先确保已安装open-vm-tools-desktopsudo apt install --reinstall open-vm-tools-desktop检查显示驱动是否加载lsmod | grep vmwgfx。如果有输出说明驱动已加载。如果还不行尝试手动指定分辨率编辑/etc/default/grub找到GRUB_CMDLINE_LINUX_DEFAULT一行在引号内添加videohyperv_fb:1920x1080假设你想要1920x1080。然后运行sudo update-grub并重启。在VMware虚拟机设置中确保“显示器”设置里勾选了“加速3D图形”并分配了足够的显存如4GB。6.3 虚拟机时间与宿主机不同步现象Ubuntu系统时间总是快或慢几个小时。原因虚拟机默认将硬件时钟视为UTC时间而宿主机Windows可能使用本地时间。或者VMware时间同步服务未生效。解决方案最佳实践在Ubuntu内使用open-vm-tools的时间同步功能。确保/etc/vmware-tools/tools.conf中存在或添加以下行如果没有该文件则创建[time] syncTime 1同时配置Ubuntu使用NTP同步sudo timedatectl set-ntp true如果问题依旧可以尝试在VMware虚拟机设置 - “选项” - “VMware Tools”中勾选“同步客户机时间与主机时间”。6.4 磁盘空间显示异常远小于实际大小现象在Ubuntu里用df -h查看根分区空间很小但你在VMware里给虚拟磁盘分配了很大空间。原因你扩大了虚拟磁盘的容量在VMware设置中但Ubuntu内的分区和文件系统并没有随之扩展。解决方案这是一个两步操作先扩展分区再扩展文件系统。使用gparted工具需安装sudo apt install gparted在图形界面操作最方便。启动gparted它会显示虚拟磁盘的实际大小和已分配分区的大小。右键点击根分区通常是/dev/sda2在/dev/sda1ESP分区之后选择“Resize/Move”。将分区拖动到填满所有未分配空间。应用操作。完成后分区变大了但文件系统还没变。对于ext4文件系统使用resize2fs命令扩展sudo resize2fs /dev/sda2请替换为你的实际分区设备名。再次使用df -h检查空间应该已经正确显示。迁移一个Ubuntu系统远不止是文件的搬运。它涉及到引导程序、内核驱动、硬件抽象、系统配置等多个层面的适配。无论是通过VMware自带的克隆导出功能还是通过磁盘镜像这种底层方式成功的关键在于理解每个步骤背后的意图——我们不是在复制文件而是在为系统准备一个新的“躯壳”并确保它的“大脑”操作系统能驱动这个新躯壳。这个过程充满了细节从选择正确的SCSI控制器类型到处理GRUB引导再到迁移后的网络与安全配置每一步的疏忽都可能导致前功尽弃。我的经验是做好每一步的检查和备份尤其是在修改虚拟机硬件设置和系统关键配置之前。当你终于在新电脑上看到那个熟悉的Ubuntu桌面并且所有开发环境、配置文件都完好如初时那种效率提升带来的满足感会让你觉得这些折腾都是值得的。最后一个小建议迁移完成后不妨给这个新虚拟机拍个快照这个干净可用的状态将是未来你进行任何危险操作前最可靠的后悔药。
返回列表