ZHYQ118

一个太过正常的人的自白

实在禁受不住内存降价的诱惑,在京东上入了一根8G的内存条,可是如果知道在黑苹果上添加内存竟会这么麻烦的话,恐怕无论如何也不会下手了,反正现在的8g内存对我来说也完全够用。

拆机安装上之后竟然卡在白苹果界面,加v进入啰嗦模式,出现了End InitBootStruct的提示,如下:eVbujK.jpg

先是怀疑内存条是否有问题,于是切换到Windows和Ubuntu下查看,都能正常读取新内存,那肯定是黑苹果自身的问题了,在中文环境下搜不到有效的解决办法,直接Google了一下End InitBootStruct,第一条竟然就解决了问题,当然过程也没那么顺利,反复拆卸安装了好几次。

原地址在此

全局

  • :help keyword - 打开关键字帮助
  • :saveas file - 另存为
  • :close - 关闭当前窗口
  • K - open man page for word under the cursor

光标

  • h - 左移光标
  • j - 下移光标
  • k - 上移光标
  • l - 右移光标
  • H - 移动到当前页面顶部
  • M - 移动到当前页面中间
  • L - 移动到当前页面底部
  • w - 移动到下个单词开头
  • W - 移动到下个单词开头(单词含标点)
  • e - 移动到下个单词结尾
  • E - 移动到下个单词结尾(单词含标点)
  • b - 移动到上个单词结尾
  • B - 移动到上个单词结尾(单词含标点)
  • % - move to matching character (default supported pairs: ‘()’, ‘{}’, ‘[]’ - use :h matchpairs in vim for more info)
  • 0 - 移动到行首
  • ^ - 移动到行首的非空白符
  • $ - 移动到行尾
  • g_ - 移动到行内最后一个非空白符
  • gg - 移动到文件第一行
  • G - 移动到文件最后一行
  • 5G - 移动到第五行
  • fx - 移动到字符 x 下次出现的位置
  • tx - 移动到字符 x 下次出现的位置的前一个字符
  • Fx - jump to previous occurence of character x
  • Tx - jump to after previous occurence of character x
  • ; - repeat previous f, t, F or T movement
  • , - repeat previous f, t, F or T movement, backwards
  • } - 移动到下一个段落 (当编辑代码时则为函数/代码块)
  • { - 移动到上一个段落 (当编辑代码时则为函数/代码块)
  • zz - 移动屏幕使光标居中
  • Ctrl + e - move screen down one line (without moving cursor)
  • Ctrl + y - move screen up one line (without moving cursor)
  • Ctrl + b - 向后滚动一屏
  • Ctrl + f -
  • Ctrl + d -
  • Ctrl + u -

Tip 命令前追加数字表示命令的重复次数, 比如 4j 表示向下移动四行

插入模式 - 插入/追加文本

  • i - 从光标前开始插入字符
  • I - 从行首开始插入字符
  • a - 从光标后开始插入字符
  • A - 从行尾开始插入字符
  • o - 在当前行之下另起一行, 开始插入字符
  • O - 在当前行之上另起一行, 开始插入字符
  • ea - 从当前单词末尾开始插入
  • Esc - 退出插入模式

编辑

  • r - 替换当前字符
  • J - 将下一行合并到当前行
  • gJ - join line below to the current one without space in between
  • gwip - reflow paragraph
  • cc - 清空当前行, 然后进入插入模式
  • C - change (replace) to the end of the line
  • c$ - 从光标位置开始, 修改当前行
  • ciw - change (replace) entire word
  • cw - 从光标位置开始, 修改单词
  • s - 删除当前字符, 然后进入插入模式
  • S - 清空当前行, 然后进入插入模式 (同cc)
  • xp - 当前字符后移
  • u - 撤销
  • Ctrl + r - 重复
  • . - 再次执行上个命令

选择文本(可视化模式)

  • v - 进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令(比如y-复制)
  • V - 进入可视化模式(行粒度选择)
  • o - 切换光标到选择区开头/结尾
  • Ctrl + v - 进入可视化模式(矩阵选择)
  • O - 切换光标到选择区的角
  • aw - 选择当前单词
  • ab - 选择被 () 包裹的区域(含括号)
  • aB - 选择被 {} 包裹的区域(含花括号)
  • ib - 选择被 () 包裹的区域(不含括号)
  • iB - 选择被 {} 包裹的区域(不含花括号)
  • Esc - 退出可视化模式

可视化模式命令

  • > - 向右缩进
  • < - 向左缩进
  • y - 复制
  • d - 剪切
  • ~ - 大小写切换

寄存器

  • :reg - 显示寄存器内容
  • “xy - 复制内容到寄存器 x
  • “xp - 粘贴寄存器 x 中的内容

Tip 寄存器被存储在 ~/.viminfo 中, 在下次重启vim时仍会加载

Tip 寄存器 0 存储上一次复制的值

标记

  • :marks - 标记列表
  • ma - 设置当前位置为标记 a
  • `a - 跳转到标记 a 的位置
  • y`a - 复制当前位置到标记 a 的内容

  • qa - 录制宏 a
  • q - 停止录制宏
  • @a - 执行宏 a
  • @@ - 重新执行上次执行的宏

剪切, 复制, 粘贴

  • yy - 复制当前行
  • 2yy - 复制 2 行
  • yw - 复制当前单词
  • y$ - 复制, 从光标位置到行末
  • p - 在光标后粘贴
  • P - 在光标前粘贴
  • dd - 剪切当前行
  • 2dd - 剪切 2 行
  • dw - 剪切当前单词
  • D - 剪切, 从光标位置到行末
  • d$ - 剪切, 从光标位置到行末 (同D)
  • x - 剪切当前字符

退出

  • :w - 保存
  • :w !sudo tee % - 使用 sudo 保存当前文件
  • :wq or :x or ZZ - 保存并退出
  • :q - 退出(修改未保存时警告)
  • :q! or ZQ - 不保存强制退出
  • :wqa - write (save) and quit on all tabs

查找/替换

  • /pattern - 查找pattern
  • ?pattern - 向上查找pattern
  • \vpattern - pattern 中的非字母数字字符被视为正则表达式特殊字符 (不需转义字符)
  • n - 查找下一个
  • N - 查找上一个
  • :%s/old/new/g - 替换全部
  • :%s/old/new/gc - (逐个)替换
  • :noh - 移除搜索结果的高亮显示

多文件搜索

  • :vimgrep /pattern/ {file} - 在多个文件中搜索 pattern

e.g.:vimgrep /foo/ **/*

  • :cn - 移动至下一个
  • :cp - 移动至上一个
  • :copen - 打开搜索结果列表

多文件

  • :e file - 新建缓冲区打开 filename
  • :bnext or :bn - 切换到下个缓冲区
  • :bprev or :bp - 切换到上个缓冲区
  • :bd - 关闭缓冲区
  • :ls - 列出所有打开的缓冲区
  • :sp file - 新建缓冲区打开 filename 并水平分割窗口
  • :vsp file - 新缓冲区打开 filename 并垂直分割窗口
  • Ctrl + ws - 水平分割窗口
  • Ctrl + ww - 在窗口间切换
  • Ctrl + wq - 关闭窗口
  • Ctrl + wv - 垂直分割窗口
  • Ctrl + wh - 切换到右侧窗口
  • Ctrl + wl - 切换到左侧窗口
  • Ctrl + wj - 切换到下侧窗口
  • Ctrl + wk - 切换到上侧窗口

标签

  • :tabnew or :tabnew file - 在新标签中打开文件
  • Ctrl + wT - 将窗口变成标签
  • gt or :tabnext or :tabn - 切换到下一个标签
  • gT or :tabprev or :tabp - 切换到上一个标签
  • #gt - 切换到第 # 个标签
  • :tabmove # - 移动标签到第 # 位(下标从 0 开始)
  • :tabclose or :tabc - 关闭当前标签
  • :tabonly or :tabo - 关闭其他标签
  • :tabdo command - 在所有标签中执行命令 (例如 :tabdo q 关闭所有标签)

Ubuntu19.04安装中出现Pcie Bus Error问题的一种解决方案

Ubuntu从18.04升级至19.04后竟然开不了机,不停跑代码,以为是升级不彻底造成的,所以,干脆制作启动盘重新安装,不料情况依然如故,而且代码显示和之前也一样,几乎就打算放弃了。

看看错误代码,反复出现的关键词就是Pcie Bus Error,猛然意识到可能和我的NVME SSD有关,这样就简单了,因为我的Ubuntu虽然安装在机械硬盘上,但是EFI分区却放在了SSD上(和其它两个系统共用),所以,就在机械硬盘上新建EFI分区,然后重新安装,完成后顺利开机。

问题有点莫名其妙,如果说是nvme驱动跟不上的话,为何18.04却没有问题?似乎每次Ubuntu大版本升级总要折腾一番。

Windows下使用diskpart命令即可,具体操作如下:

1、win+R,cmd进入命令行界面,输入diskpart回车。

2、进入diskpart后列出所有磁盘:list disk。

3、选中U盘,一定看仔细,别选错:select disk x。

4、清除:clean。

此时,在磁盘管理界面会发现U盘已经变成黑色的未分配状态。

下面新建简单卷即可。

  • 木心:岁月不饶人,我亦未曾饶过岁月。
  • 海子:今夜我不关心人类,我只关心你。
  • 罗曼罗兰:世界上只有一种真正的英雄主义,就是认清了生活的真相,还仍然热爱它。
  • 《兄弟连》:我们是伞兵,伞兵天生就是被包围的。
  • 尼采:凡杀不死我的,都让我更强大。 | 罗振宇改编:凡我赶不上的,我就在未来等它。
  • 富兰克林罗斯福:你一心想领导人们前进,回头一看,跟着的人却一个都没有,真可怕。
  • 菲茨杰拉德:一个人能同时保有全然相反的两种观念,还能正常行事,是第一流智慧的标志。
  • 查理芒格:宏观是我们必须接受的,微观才是我们可以有所作为的。
  • 温斯顿丘吉尔:这不是结束,甚至不是结束的开始,而可能是开始的结束。
  • 泰森:每个人都有一个计划,直到被一拳打到脸上。
  • 约翰列侬:所有事到最后都会是好事,如果还不是,那它就是还没到最后。
  • 阿尔贝加缪:对未来最大的慷慨,是把一切献给现在。

原链接 在此


日记

海子

姐姐,今夜我在德令哈,夜色笼罩
姐姐,我今夜只有戈壁
草原尽头我两手空空
悲痛时握不住一颗泪滴
姐姐,今夜我在德令哈
这是雨水中一座荒凉的城
除了那些路过的和居住的
德令哈……今夜
这是唯一的,最后的,抒情
这是唯一的,最后的,草原
我把石头还给石头
让胜利的胜利
今夜青稞只属于他自己
一切都在生长
今夜我只有美丽的戈壁空空
姐姐,今夜我不关心人类,我只想你

鼠须管卸载方法如下:

1、打开系统偏好设置-键盘-输入法,移除鼠须管。

2、退出登录当前用户并重新登录

3、打开Finder,按command+shift+G 前往 /Library/Input Methods,把鼠须管.app移动到废纸篓。

4、按command+shift+G 前往~/Library,移除鼠须管用户设置文件夹Rime。

5、退出登录当前用户并重新登录。

从10月26号在Windows下的VMWare上首次成功安装macOS到12月21日凌晨成功解决实体机上的睡眠问题为止,我的黑苹果折腾过程差不多已经有了两个月的时间了。这段时间除了工作,剩下的时间全都用在了这上面,甚至连正常的生活都受到了影响(心不在焉),虽然中间有几次因遇到难题想暂停下来,但只要一想到还有未解决的问题,就总是不放心,只好继续下去,好在目前都已解决。所以,写这样一篇记录性质的文章,算是一个总结,接下来把时间放在更有价值的事情上去,好好利用新系统。

我的配置单

非组装机,而是购买的联想品牌台式机,型号为天逸510pro,配置如下:

  • 主板:Lenovo 36C5 (Intel B250 芯片组)
  • CPU: i5-7400 3 GHz
  • 内存:8 GB 2667 MHz DDR4
  • 硬盘:Samsung SSD 960 EVO 250GB
  • 显卡:NVIDIA GeForce GT 730
  • 无线网卡:BCM943602CS(后加的,原声Intel,无解)

硬盘规划

由于完美主义作祟,看不得之前硬盘上无数的凌乱的分区,所以,毁掉之前win、mac和Ubuntu三系统并存在同一块硬盘上的分区状况,重新规划,最终分区如下:

  • SSD:格掉其它系统,全盘保留给macOS
  • 1T HDD:Win10 (C盘+ D盘)+ Ubuntu

其它,efi分区放在ssd上,且放在起始扇区上。

系统安装

先装Windows,再装macOS。

在我重新调整系统规划之前,Windows实际上是安装在ssd上的,所以,首先迁移系统,当然最大的问题是完整保留数据。

大致步骤是先用diskgenius调整数据盘分区,在D盘之前腾出一块空间安装新Windows,安装之后居然直接变成了C盘,而之前的C盘(系统盘)则变成了普通的数据盘,所以,原系统盘直接格式化,倒也省事,软件再装就是。中间也是遇到了一些问题,好在都顺利解决,不再赘述。

重点是macOS的安装过程,教程用的@黑果小兵的 这一篇,简述如下:

制作启动盘

方法一(省事):下载 etcher,打开镜像(黑果小兵网站上有提供下载),选择U盘,点击Flash即可。

方法二:如果自己对从第三方网站上下载的镜像不放心,那么可以到官网下载所需的系统镜像,用unibeast制作完成,教程在 ,只是相对复杂一些,但也不算难。

安装

插入制作好的带clover的启动盘,开机按F12选择从U盘启动,跑完代码,顺利进入clover界面,选择Boot OS X Install from…(就是U盘所在位置),然后开始引导macOS系统,顺利的话会很快进入安装设置选项。

抹盘

选择简体中文

出现macOS实用工具界面,选择磁盘工具

选择显示所有设备

选择你要安装的磁盘或者分区,点击抹掉按钮,选择格式,将名称修改为你想要的,点击抹掉按钮,请注意:

选择格式的时候很多教程上都说应该选择HFS+,但是我查了一下APFS是苹果最新的文件系统,我想既然用了最新的Mojave系统,只有搭配最新的文件系统或许才最能发挥系统系能,所以,直接选了APFS。

安装过程

然后退出磁盘工具进入安装界面,选择安装,进行各种设置,确定安装。

然后它会把USB安装盘上的安装文件预复制到要安装的系统分区里,之后系统会自动进行重启,进入第二阶段的安装。时间长短取决于你的硬盘速度,耐心等待即可。

重启时要注意,如果是在bios中选择的优盘为第一启动项,应该会直接进入macOS安装界面,但是如果像我的电脑可以直接从F12选择启动项的,重启的时候也要记得按F12选择启动项,免得直接进入默认的windows中了。

整个安装过程需要重启一次还是两次我已经记不清了,需要留意的是每次重启后要在clover中选择不同的选项,重复选择可能会重复安装,另外不要选择带有FileVault的选项,这个给磁盘加密用的,黑苹果还是不用为上吧。

经过一到三次重启后,选择boot macOS from mac(名字取决于你的硬盘分区名称),进入设置向导,设置完成后进入桌面,黑苹果的初步安装可以说已经大功告成了。

合并EFI,设置多系统并存

到正式进入桌面为止,macOS算是安装成功了,但是真正的折腾才刚刚开始,难道你没发现之前的安装过程可以说是傻瓜式的,如果真这么简单,黑苹果恐怕早就流行起来了。

下面直接复制@黑果小兵的帖子,图片也不做修改了,我这里算是做个备份,也方便自己查看。

教你将U盘上的EFI复制到磁盘的EFI分区,脱离USB运行[macOS篇]

新的系统安装成功后,EFI还位于U盘里,总不能一直挂着U盘使用系统吧。这个时候如果你想将U盘里的EFI复制到磁盘的EFI分区里,却苦于找不到看不见EFI分区,这个时候是该让diskutil登场了。

diskutil命令的基本用法:

查看磁盘分区表: diskutil list

/dev/disk0(internal, physical):

#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 256 GB disk0
1: EFI EFI 200 MB disk0s1
2: Apple_HFS MAC 128 GB disk0s2
3: Microsoft Basic Data WIN10 127.7 GB disk0s3

/dev/disk1(internal, physical):

#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 16 GB disk1
1: EFI EFI 200 MB disk1s1
2: Apple_HFS Install macOS Sierra 15.8 GB disk1s2

挂载磁盘EFI分区

1
sudo diskutil mount disk0s1

挂载U盘EFI分区

1
sudo diskutil mount disk1s1

打开Finder,注意后面有个.

1
open .

左侧会显示挂载了两个EFI分区,将U盘EFI目录全部复制到磁盘的EFI分区即可。

合并EFI分区

这里有一点需要注意:如果之前安装过Windows系统的话,会存在EFI的目录,只是EFI的目录下面只有BOOT和Microsoft这两个目录,如果希望添加macOS的Clover引导的话,可以将USB的EFI分区里面的EFI目录下面的CLOVER复制到磁盘里的EFI目录下,也就是执行的是合并的操作,让EFI同时支持WINDOWS和macOS的引导.千万不要全部复制,否则有可能造成EFI无法启动Windows.

添加UEFI引导选项

使用工具:BOOTICE

操作过程:

  1. 打开BOOTICE软件,选择物理磁盘,选择欲操作的目标磁盘,点击分区管理,弹出分区管理的窗口,点击分配盘符,为ESP分区分配一个盘符,点击确定
    BOOTICE1
  2. 选择UEFI,点击修改启动序列,点击添加按钮,菜单标题填写:CLOVER,选择启动文件,在打开的窗口里选择ESP分区下的目录\EFI\CLOVER\CLOVERX64.EFI,点击保存当前启动项设置
    BOOTICE2

不得不说,黑果小兵推荐的这个bootice软件非常实用,一般都推荐用easyuefi之类的,但是这是收费软件,试用版在企业版的win10上是不让用的,所以基本上没用,当然,破解版就算了。

至此,可以拔掉优盘,开机进入clover界面选择想要启动的系统了。

接下来就是进行各种功能的完善了。

半个月来,深深陷入对黑苹果的“研究”中不能自拔,可以说充分利用了工作之余的所有时间,然而却并没有“研究”出任何成果来,挫败感因此产生,所以决定暂时不折腾了,把时间放在更加有意义的事情上去。

然而,时间究竟浪费在了什么地方,还是有必要记录一下的:

1、由于在之前的摸索阶段,装了多个系统,两块硬盘上也分别有了efi分区,当然这也许并不影响什么,但是有几点时间看不下去:一是ssd上的efi分区竟然不是在起始分区,担心影响开机速度,不能忍;二是macos和win竟然在同一块硬盘,而win数据盘和Linux系统中间我又格出了一个apfs分区,总担心有一天会出现某个分区或系统突然消失的状况,所以,决定重新规划安装三个系统。如下:

  • SSD:MacOS
  • HDD: win(C+D) + Ubuntu(/+home+efi)

如此,看起来就整齐多了,而且应该也相对安全了。

2、各个系统分别安装常用软件,没难度,但耗费时间。

3、学会升级clover。

4、用AppleALC代替了voodoohda万能声卡,也正确找出了注入id(5),兴奋。

5、动过购买bcm943602cs的念头,但考虑到还要拆机安装,遂暂时搁置。

6、尝试用fbpatcher内建USB端口,可惜效果不好,暂时还是采用补丁方式,目前所有端口可用。

其实,最耗时间的是难以搞定的部分,目前对我来说主要是睡眠和唤醒的问题了。翻遍了资料,甚至还上了英文的tonymacx86,然而最终还是没能解决问题,所谓的受挫也指这件事。然而,回头想想,即便在Windows下,使用睡眠功能的时候也不多,台式机基本上都是离开时随时关机,现在这样做无非是一种追求完美的心理罢了。

所以,总结下来,正常使用已完全不成问题,那暂时就先不折腾了。

BY 约翰·汤恩

没有谁能像一座孤岛

在大海里独踞

每个人都像一块小小的泥土

连接成整个陆地

如果有一块泥土被海水冲去

欧洲就会失去一角

这如同一座山岬

也如同你的朋友和你自己

无论谁死了,都是自己的一部分在死去

因为我包含在人类这个概念里

因此我从不问丧钟为谁而鸣

它为我也为你

除去各种需要完善的驱动,下面是必备软件列表及官网

需求不多,主要这些。下面说说我的写作三件套:

  • simplenote : 写日记,优点在于足够简单同时客户端多平台支持
  • OneNote:知识整理,功能足够丰富且客户端齐全,我用Office365订阅
  • Typora :写作,所见即所得类型的MarkDown编辑器

备用