解决vmware的ubuntu的虚拟你屏幕太小/无法适配的问题(亲测可行)
我的虚拟机ubuntu10.0一直用的很丝滑,耐造,今天打开之后就萎缩了。。。 之前是更新的VMware Tool工具,重启一下就好啦,今天这么操作似乎行不通了,尝试了几个方式之后,记录一下有效的处理方式。     1、首先,在Ubuntu虚拟机中打开终端。 2、在终端中输入以下命令来安装Open-VM-Tools: sudo apt-get install open-vm-tools 这将安装VMware工具的开源版本,用于优化虚拟机的性能和功能。(亲测可行) 3、安装完成后,重新启动虚拟机 sudo reboot 其实步骤到这里已经可以了,搞定这个问题,如果你的虚拟式是个难搞的家伙,那就继续尝试   4、虚拟机重新启动后,尝试调整屏幕分辨率。在VMware菜单栏上选择“虚拟机”->“显示”->“自动调整大小”。 5、如果屏幕分辨率仍然不正确,可以尝试手动调整。在Ubuntu虚拟机中,点击右上角的设置图标,选择“显示设置” 6、在显示设置中,可以选择合适的分辨率来调整屏幕大小。如果没有合适的选项,可以尝试添加自定义分辨率, 7、完成后,应用更改并重新启动虚拟机。   注意:完成设置之后一定要重启虚拟机哦!!   文章参考: 1.vmware的ubuntu的虚拟你屏幕太小 2.VMware下Ubuntu虚拟屏幕太小,如何增大? 3.VMware虚拟机ubuntu显示屏幕太小解决办法
【OS】09 – 主引导程序控制权的转移【fat表加载loader并跳转执行,boot使命结束】
  参考:【OS】09 - 主引导程序控制权的转移   实验1 代码写完之后,发现boot已经超出了512字节,怎么办呢? 代码重构:删除部分的push和pop代码,这是为了保证不会影响关键寄存器的值。   代码调整后,再次make通过;打印加载出来的文件内容。     code org 0x7c00 ;补上三个字节 jmp short start nop ;栈的起始地址(定义栈空间) define: BaseOfStack equ 0x7c00 BaseOfLoader equ 0x9000 ;最后要把目标程序加载到这个地址处,fat表加载到这个地址的前面 RootEntryOffset equ 19 ;根目录区的逻辑扇区地址,是从逻辑第19扇区开始的 RootEntryLength equ 14 ;目录文件项占用了14个扇区 EntryItemLength equ 32 FatEntryOffset equ 1 FatEntryLength equ 9 header: BS_OEMName db "D.T.Soft" BPB_BytsPerSec dw 512 BPB_SecPerClus db 1 BPB_RsvdSecCnt dw 1 BPB_NumFATs db 2 BPB_RootEntCnt dw 224 BPB_TotSec16 dw 2880 BPB_Media db 0xF0 BPB_FATSz16 dw 9 BPB_SecPerTrk dw 18 BPB_NumHeads dw 2 BPB_HiddSec dd 0 BPB_TotSec32 dd 0 BS_DrvNum db 0 BS_Reserved1…
上瘾:沉迷而不知
“眼看着、嘴吃着、还能干嘛?耳机拿来、我耳朵还闲着呢?可以这样?……”第一次听小说、就是从这句话开始。从熊猫听书到喜马拉雅,不觉间已过去近十年了。有时,嫌弃小说更新不及时,便转看原文小说,非要看到一个结果,一个结尾。可以说,只要有时间,都会急不可奈的翻看。因为融入了剧情,融入了主角的情感之中,会笑会哭会惊喜会哀伤……一回首,听书累了计 2000余小时,动漫电影电视剧上千于部,小说也看了十几本,累计六七千万字……看着这么庞大的数据,我懵了!张大嘴,惊奇不已,有,有怎么夸张吗?若是提前让我知道要听这么多小时,要看怎么多电影,要看这么多字数的书,怕是没有勇气开始。这,就是上瘾,就是上瘾而不自知。但这,也是青春,也是我一事无成的原因。我的时间用在了娱乐,用在了让人爽的,让人容易做的,可以躺着玩的事儿上,又怎么期望获得成长,有大的成就呢?因为喜欢,所以沉迷。因为热爱、所以不知疲劳。这不是任务,也不是要求,更不是必须要做的事项。而是我用来打发时间,娱乐提趣的手段。用来填充闲余时光,用来抵抗无聊的方法。我认为我很自律,能够控制开始与结束。但结果告诉我,一旦开始,除非故事完结,否则就不会结束。当我开始的时候,当我入局的时候,我其实就上瘾了,我就失控了。但身在局中的我,却全然无知,并无觉知。显然,这些好的作品让我沉迷了进去,我融入了故事,并且拥有强烈渴望,渴望看到剧情的发展,想方设法也要听完、看完。若是作者一日一更新,每天醒来的第一时间便会前去查看,哪怕因为任务冲突,也会抽时间补回来,看一看,听一听。这一看、一听便是近十几年。真是可怕!这是真实发生的事情,也是我上瘾沉迷的真实讲述。哪怕到了现在,有些习惯仍旧,还在倾听、观看着。有时会因作者没有更新而难受,也会团为爆更而惊喜。通过视听,与作者携行,虽未见面、却沉迷其…
git
git手册 ################################ 工作流程 常用命令 ################################ # MR: 发现问题,处理问题 -> 解决冲突 提交pull request # CR: 代码审查,code reviw # 工作流程 # // git工作区 - git暂存区 - 本地代码仓库 - 远程仓库 # 常用指令 # git branc // 查看本地代码分支(本地默认产生master分支,其它分支需要自己创建) git branch -r // 查看远程分支 git pull // 拉取最新代码 git status // 查看当前状态 git log // 查看git提交日志 git branch // 查看本地分支 git branch -vv // 查看本地分支和远程分支的追踪关系 ################################ 当需要pull更新代码的时候 ################################ // 方法一: git stash // 把本地的修改全部缓存起来 git pull // 拉最新的代码 git stash pop // 把刚才缓存的代码播放出来,肯定会产生很多冲突 // 方法二: 本地代码就没了,比较危险 git reset --hard HEAD^ //把本地代码强制更新到上一次的版本然后再git pull拉仓库最新代码 ################################ 同步更新 代码冲突 ################################ 1. 打开代码,修改所有冲突 2. git add XXX / git comm…
HTTP/HTTPS/SSH
HTTP和HTTPS,SSH协议都属于应用层协议: HTTP:超文本传输协议 HTTPS:安全的超文本传输协议, 在HTTP协议基础上加入了SSL协议保证安全传输 SSH:安全外壳协议 0x01 HTTP&HTTPS   1.1 简介 HTTP&HTTPS主要应用于Web浏览器和网站服务器之间传递数据,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。而HTTPS为了数据传输的安全,在HTTP协议的基础上加入了SSL协议,SSL协议依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。   1.2 HTTP和HTTPS的主要区别: 一: HTTPS协议需要申请CA证书,一般免费的证书很少,需要交费; 二: HTTP是超文本传输协议,信息是明文传输,HTTPS是具有安全性的SSL加密传输协议; 三: HTTP和HTTPs使用的是完全不同的连接方式,用的端口号也不一样(HTTP: 80 HTTPS: 443); 四:HTTP协议的连接简单,是无状态的,HTTPS协议是由SSL+HTTP协议构成的可进行加密传输,身份认证的网络协议,比HTTP协议安全。     0x02 SSH SSH协议为建立在应用层基础上的安全协议,SSH是目前较可靠的,专门为远程登录会话和其他网络服务提供安全性的协议,并且用SSH协议传输的数据是经过压缩的,加快数据传输的速度。SSH提供两种级别的安全验证,一: 基于口令的安全验证;二: 基于密匙的安全验证。   2.1 基于口令的安全验证 只要你知道自己的…
thumbnail
居叹悔
行将就木,意欲过往。叹一声舍不得啊!声高嘶吼,直刺心底,让人一颤。饱足过往遗憾,痛彻当下未来。抬望眼,物事皆休。奈独行,静归于土。即将要离开这人世间,意想过往经历,奋斗拼搏,一切转好,更有美好未来。高叹舍不得,舍不得啊!声音高亢,嘶吼而出,直刺内心深处,让人灵魂一颤,强烈共鸣。过往的经历从脑里逐帧闪过,遗憾暴露无余,痛心当下未来即将与己无关。抬起沉重的眼眸环视,人事皆与己无关。无奈要独自行走,静静归于这天地之间。
【OS】08 – 突破512字节的限制(下)【Memcpy、FatVec:通过Fat表加载文件到内存】
参考:【OS】08 - 突破512字节的限制(下)   0x01 Memcpy 1.1 code Memcpy函数完成并测试 org 0x7c00 jmp short start nop define: BaseOfStack equ 0x7c00 BaseOfLoader equ 0x9000 RootEntryOffset equ 19 RootEntryLength equ 14 EntryItemLength equ 32 FatEntryOffset equ 1 FatEntryLength equ 9 header: BS_OEMName db "D.T.Soft" BPB_BytsPerSec dw 512 BPB_SecPerClus db 1 BPB_RsvdSecCnt dw 1 BPB_NumFATs db 2 BPB_RootEntCnt dw 224 BPB_TotSec16 dw 2880 BPB_Media db 0xF0 BPB_FATSz16 dw 9 BPB_SecPerTrk dw 18 BPB_NumHeads dw 2 BPB_HiddSec dd 0 BPB_TotSec32 dd 0 BS_DrvNum db 0 BS_Reserved1 db 0 BS_BootSig db 0x29 BS_VolID dd 0 BS_VolLab db "D.T.OS-0.01" BS_FileSysType db "FAT12 " start: mov ax, cs mov ss, ax mov ds, ax mov es, ax mov sp, BaseOfStack mov ax, Roo…
思考:过去、当下和未来
匆匆时光见证了我的想法和经历。这一路,我遇见了很多人。他们,有的教会了我知识,有的教会了我习惯,还有的影响了我性格......时光会让人遗忘。一路向前走,好多人已然没入人海,没了交集。现在还在联系着的,都显得那么难得和珍贵。想要一块儿喝喝茶,聊聊天,这也要看缘分,真是难得。阳光普撒,星月萦绕,我们都在向前奔跑。这一路,急躁追赶,汗流浃背,终于在限定时间完成;这一路,庸庸懒懒,无所事事,无聊无趣,终在刷视频,小说中度过;这一路,遥望窗外,思绪飘荡,扎实与孤寂伴行,终是为了碎银几两;……回望过往,你有遗憾吗?有啊,不少人事还成了心结。不敢去做,再也没有机会去做;犹豫去做,错过最佳时间,结果不尽如意;害怕去做,终将难逃错过;不敢直面,逃避之后,终将再次面对;自卑自懦,紧张面对,终将错误反应,失之于望;……特别是一些人事,遗憾留存心中,久久不能消散。纸皱了,再摊开,仍旧有纹路;事做了,不如意,再补救,仍不满意。遗憾给我们的启示,大抵就是珍惜当下,时时问心,谨慎而行,无愧而行。立足当下,你有什么想法?我想体验这鲜活的生命,用热血,用热爱,去浇灌这永前的生活。现实中的我,很平凡,也很平庸。会贪玩,会偷懒,也会犯错。不过我尽可能的让自己少犯错,珍惜当下,尽可能的向上而行。生活充满琐碎。但有一些坚守,是琐碎的接合,在时间的粘合下,终将成为艺术。前行的路,就是牢记这些坚守,不让琐碎冲乱,不抛弃,不放弃,让其成长,成为作品,成为艺术。展望未来,你要怎么做?“男子汉大丈夫,不仅胃口要大,连梦想也要大。”我好做梦,因为梦很美,给人美好。年轻的时候,梦很大,也很模糊。随着年龄增长,梦越来越小,也越来越清晰了。纵然十个梦想,成者无一二,但我仍会心怀梦想,缓缓前行。现在,懂得了规划,懂得了筹划,也懂得了放弃。做梦,不在天方夜…
【OS】07 – 突破512字节的限制(中)【主要内容:内存比较函数 MemCmp 和根目录区查找函数 FindEntry 】
原理参考:【OS】07 - 突破512字节的限制(中)   0x01 验证1:内存比较函数 MemCmp 1.1 code ;@ ;目的: 验证MemCmp函数 ;参考此函数调用即可 org 0x7c00 jmp short start nop define: BaseOfStack equ 0x7c00 ;start from here start: mov ax, cs mov ss, ax mov ds, ax mov es, ax mov sp, BaseOfStack ; test MemCmp mov si,MsgStr mov di,Target mov cx,MsgLen call MemCmp cmp cx,0 jz lable jmp last lable: mov bp,MsgStr mov cx,MsgLen call Print last: hlt jmp last ; ds:si --> source ; es:di --> destination ; cx --> length ; ; return: ; (cx == 0) ? equal : noequal MemCmp: push si push di push ax compare: cmp cx, 0 jz equal mov al, [si] cmp al, byte [di] jz goon jmp noequal goon: inc si inc di dec cx jmp compare equal: noequal: pop ax pop di pop si ret ; es:bp --> string address ; cx --> string len…
调试器 – gdb
  GDB的常规应用(动态分析工具==目标=>进程) 自定义程序的启动方式(指定影响程序运行的参数),指定了命令行参数(本质是main函数的参数),软件运行的结果就可能是不同的 设置 条件断点(条件满足时暂停程序的执行,用于递归和循环语句) 回溯检查导致程序异常结束的原因(Core Dump),gdb监视,如果访问0地址处,程序告诉你具体出问题的代码行 动态改变程序执行流(定位问题的辅助方式),跳过某一行程序的执行 GDB是GNU项目中的调试器,能够跟踪或改变程序的执行 GDB同时支持软件断点,硬件断点和数据断点。   GDB的启动方式 直接启动: gdb gdb test.out //这样是关注test.out文件产生的进程(file是gdb内部的指令,指明当前的gdb需要关注的进程) gdb test.out core // 异常崩溃产生的core文件 动态链接: gdb test.out pid // gdb监视test.out产生的某个进程,gdb动态跟踪进程的行为   示例一:直接启动 :~$ gdb // 启动 (gdb) file test.out // 载入目标程序 前两行 ==> gdb test.out gdb关注目标程序对应的进程 (gdb) set args arg1 arg2 // 指定程序执行时的命令行参数,指定启动test.out的参数 (gdb) run // 执行目标程序   示例二:动态链接(调试正在运行的程序) :~$ sudo gdb // 用sudo启动gdb,要动态链接,必须这样,否则没权限 (gdb) attach 进程的pid号 // 链接到目标进程,链接成功后 (前两行 ==> gdb a…