解决VirtualBox中虚拟机(ubuntu)与主机(windows)之间互相复制粘贴(文本)

一.开始的设置

1.在VirtualBox中打开设置,常规中修改主机与虚拟机交互设置

2.虚拟机关闭状态下,存储中选中控制器SATA,勾选‘使用主机输入输出’

3.选中操作系统对应的虚拟文件,.vdi文件,勾选右边的固态驱动器。

4.启动虚拟机,右ctrl+c,切换到全屏模式,使菜单栏出现。点击安装增强功能。

5.打开文件管理,里面有增强功能的程序,点击运行软件。

6.需要认证

7.出现错误,bzip2没找到

8.运行sudo apt install -y bzip2

9.运行软件,还是报错,遇到的 touch: 无法 touch ‘/var/lib/VBoxGuestAdditions/skip-6.11.0-19-generic’: 没有那个文件或目录 这个错误,通常意味着安装程序想为一个特定版本的内核(这里是 6.11.0-19-generic)创建一个标记文件,但相关的目录结构可能不存在,或者这个内核版本可能不是你当前正在运行的。

更关键的信息是:

  • This system appears to have a version of the VirtualBox Guest Additions already installed.
  • If you wish to replace it with this version, please do not continue with this installation now, but instead remove the current version first, following the instructions for the operating system.

这说明我的 Ubuntu 24.04 系统可能已经通过 apt 包管理器安装了 Guest Additions 的一部分(比如 virtualbox-guest-utils, virtualbox-guest-x11 等)。直接从 VirtualBox 的 ISO 镜像运行安装脚本可能会与系统包管理器安装的版本冲突。

二.问题解决,成功文本双向复制粘贴

1.解决:

尝试卸载所有与 virtualbox-guest- 相关的包并清理不再需要的依赖:

sudo apt-get purge virtualbox-guest-*

sudo apt-get autoremove

2.重启虚拟机,确保旧的模块被卸载。

sudo reboot

3.在已经安装 bzip2 的基础上,需要确保其他构建工具和内核头文件存在。

sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r)
  • build-essential: 包含编译C/C++程序所需的基本工具(如 gcc, make)。
  • dkms: Dynamic Kernel Module Support,帮助在内核更新时自动重新编译内核模块。
  • linux-headers- ( u n a m e − r ) (uname -r) (unamer): 安装与你当前正在运行的内核版本匹配的头文件。 ( u n a m e − r ) (uname -r) (unamer) 会自动替换为你的内核版本号。

4.重新运行 Guest Additions 安装程序,打开/VBox_GAs_x.y.z 文件夹 (其中 x.y.z 是版本号),黑窗口运行命令:

sudo ./VBoxLinuxAdditions.run

5.内核模块可能已经编译好了,但它们还没有被激活和加载。重启:

sudo reboot

6.效果,这样虚拟机与主机就可以双向复制文本。

三.解决拖放问题(待完善)

可以先用共享文件夹进行挂载,由于文本复制粘贴已够用,且拖放不常用,这里占时空着。

1.拖拽文件出现问题

2.可以看到双向是打开的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/80596.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/80596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 多核,多线程,分布式 并发编程的现状 :从本身的jdk ,到 spring ,到其它第三方。

Java 在多核、多线程和高性能编程领域提供了丰富的现成框架和工具,既有标准库中的并发组件,也有第三方框架。以下是一些关键框架及其应用场景的总结:便于后面我们站在巨人的肩膀上,继续前行 一、Java 标准库中的多线程框架 Execut…

Nodejs核心机制

文章目录 前言 前言 结合 Node.js 的核心机制进行说明: 解释事件循环的各个阶段。 答案 Node.js 事件循环分为 6 个阶段,按顺序执行: Timers:执行 setTimeout 和 setInterval 的回调。 Pending I/O Callbacks:处理系…

C++笔记6:数字字面量后缀和前缀总结

在C中,可以在数字字面量后面添加字母后缀(或前缀)来表示特定的数据类型。这些后缀能够明确指定字面量的类型,避免类型转换带来的潜在问题。以下是常见的几种类型后缀及其含义: 1. 整数后缀 u 或 U:表示 u…

50.辐射抗扰RS和传导抗扰CS测试环境和干扰特征分析

辐射抗扰RS和传到抗扰CS测试环境和干扰特征分析 1. 辐射抗扰RS2. 传导抗扰CS 1. 辐射抗扰RS 辐射抗扰RS考察对外界电磁场干扰得抗扰能力,测试频段为80MHz~2000MHz,用1KHz得正弦波进行调幅,在电波暗室内进行。测试标准:IEC 61000-…

Java多态详解

Java多态详解 什么是多态? 比如我们说:“驾驶一辆车”,有人开的是自行车,有人开的是摩托车,有人开的是汽车。虽然我们都说“开车”,但“怎么开”是由具体的车类型决定的:“开”是统一的动作&a…

问题及解决01-面板无法随着窗口的放大而放大

在MATLAB的App Designer中,默认情况下,组件的位置是固定的,不会随着父容器的大小变化而改变。问题图如下图所示。 解决: 为了让Panel面板能够随着UIFigure父容器一起缩放,需要使用布局管理器,我利用 MATLA…

【GESP真题解析】第 20 集 GESP 二级 2025 年 3 月编程题 2:时间跨越

大家好,我是莫小特。 这篇文章给大家分享 GESP 二级 2025 年 3 月编程题第 2 题:时间跨越。 题目链接 洛谷链接:B4260 时间跨越 一、完成输入 根据题意,输入包含五行,每行一个正整数,分别代表 y,m,d,h,k。 注意到数据范围:对于全部数据,保证有 2000≤y≤3000,1≤m≤…

GTS-400 系列运动控制器板卡介绍(二十一)---电子齿轮跟随

运动控制器函数库的使用 运动控制器驱动程序、dll 文件、例程、Demo 等相关文件请通过固高科技官网下载,网 址为:www.googoltech.com.cn/pro_view-3.html 1 Windows 系统下动态链接库的使用 在 Windows 系统下使用运动控制器,首先要安装驱动程序。在安装前需要提前下载运动…

软件工程之需求分析涉及的图与工具

需求分析与规格说明书是一项十分艰巨复杂的工作。用户与分析员之间需要沟通的内容非常的多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。如何才能更加准确的表达双方的意思,且清楚明了,绘制各类图形就显得非常…

蓝桥杯14届 数三角

问题描述 小明在二维坐标系中放置了 n 个点,他想在其中选出一个包含三个点的子集,这三个点能组成三角形。然而这样的方案太多了,他决定只选择那些可以组成等腰三角形的方案。请帮他计算出一共有多少种选法可以组成等腰三角形? 输…

在Fiddler中添加自定义HTTP方法列并高亮显示

在Fiddler中添加自定义HTTP方法列并高亮显示 Fiddler 是一款强大的 Web 调试代理工具,允许开发者检查和操作 HTTP 流量。一个常见需求是自定义 Web Sessions 列表,添加显示 HTTP 方法(GET、POST 等)的列,并通过颜色区…

数据库分库分表实战指南:从原理到落地

1. 为什么要分库分表? 1.1 单库瓶颈表现 存储瓶颈:单表数据超过5000万行,查询性能急剧下降性能瓶颈:单库QPS超过5000后响应延迟显著增加可用性风险:单点故障导致全系统不可用 1.2 突破性优势 --------------------…

Selenium的driver.get_url 和 手动输入网址, 并点击的操作,有什么不同?

我在搞爬取的时候,发现有些网站直接用driver.get(url) 跳转到目标特定的网址的时候,会被强制跳转到其他的网址上,但是如果是自己手动,在网址栏那里输入网址,并点回车,却能完成跳转。 这是在使用 Selenium …

Java【06】数组查找(二分查找)、排序(冒泡排序、简单选择排序)

1. 数组的操作 1.1 数组的反转 int[] arrs{3,5,7,8,9}; 编写程序,让arrs中的数据进行反转{9,8,7,5,3} 1.2数组的查找 ① 顺序查找 从头到尾一个一个的找! ② 二分查找 对数组有一个要求:数组必须是有序(大小)的! int num3; int[]…

Redis 基础详解:从入门到精通

在当今互联网应用开发领域,数据存储与处理的性能和效率至关重要。Redis(Remote Dictionary Server)作为一款开源的、基于内存的键值存储系统,凭借其出色的性能和丰富的功能,被广泛应用于数据库、缓存、消息中间件等场景…

图片转ICO图标工具

图片转ICO图标 可批量操作 下载地址: 链接:https://pan.quark.cn/s/6312c565ec98 这个工具是一个批量图片转ICO图标的神器,有了它,以后再也不用为ICO格式的转换烦恼!而且这个软件特别小巧,完全不用安装。…

0基础 | L298N电机驱动模块 | 使用指南

引言 在嵌入式系统开发中,电机驱动是一个常见且重要的功能。L298N是一款高电压、大电流电机驱动芯片,广泛应用于各种电机控制场景,如直流电机的正反转、调速,以及步进电机的驱动等。本文将详细介绍如何使用51单片机来控制L298N电…

Flink 系列之十五 - 高级概念 - 窗口

之前做过数据平台,对于实时数据采集,使用了Flink。现在想想,在数据开发平台中,Flink的身影几乎无处不在,由于之前是边用边学,总体有点混乱,借此空隙,整理一下Flink的内容&#xff0c…

大疆卓驭嵌入式面经及参考答案

FreeRTOS 有哪 5 种内存管理方式? heap_1.c:这种方式简单地在编译时分配一块固定大小的内存,在整个运行期间不会进行内存的动态分配和释放。它适用于那些对内存使用需求非常明确且固定,不需要动态分配内存的场景,优点是…

Java 线程池原理

Java 线程池是一种管理和复用线程的机制,其原理如下: 核心概念 线程池的初始化 :在创建线程池时,需要设置一些关键参数,如核心线程数(corePoolSize)、最大线程数(maximumPoolSize&am…