Macbook 安装kali linux 双系统 2020.3 超详细
博主折腾了一星期这东西,到现在都还有些坑没解决(最后面会讲)。不过最起码系统装上了,可以用了,看到这桌面惊艳了,再点下左上角表示人间值得。
其实我是装了windos 10、macos 和kali三系统废话不多说开始教程:
一、准备工作
特别注意:
先把macbook上的数据用timemachine备份好(需要一个外接的存储)、这样你会放心去搞
硬件:16G+ 的U盘 、type-c转USB至少3口的转接硬件、有保障的电源、外接有线键盘一个、鼠标一个
软件:
kali linux install 的镜像iso
下载地址:https://www.kali.org/downloads/ *整最新的install的就行
rEFInd Boot Manager 软件
http://sourceforge.net/projects/refind/ 点击该链接下载压缩包,解压后双击refind-install安装即可
mac硬盘分区:先将mac分出50G以上的区
二、制作U盘启动盘
插上U盘
1.需要先对U盘进行操作,而diskutil就是用来对Mac OS的磁盘操作的命令
diskutil:操作本地磁盘,可以对磁盘进行卸载,挂载等操作。
列出当前挂载的磁盘: diskutil list
dev/disk0 (internal, physical):#: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB
disk0s1 2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB
disk0s3 /dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +249.8 GB
disk1 Logical Volume on disk0s2 45CD1187-14DE-4203-9895-FBB1B3770F1E Unencrypted
/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: Apple_partition_scheme *16.1 GB
2.其中/dev/disk2就是U盘。 需要先卸载掉U盘,然后在把安装文件写入到U盘中,
这样就需要用到卸载命令: diskutil unmountDisk /dev/disk2
再次使用diskutil list命令确认不会显示出disk2了
3.然后把安装文件拷贝到U盘中、制作启动盘
执行命令 sudo dd if=./kail-2020.3-xxxxxx.iso of=/dev/disk2 bs=2m
4.安装好rEFInd Boot Manager
5.禁用系统完整保护
重启机器开机按住option、能够看到硬盘界面时按command+r进入恢复模式
点击实用工具,点击终端输入命令:csrutil disable; reboot
Mac会重启,系统保护已经取消
二、开始用U盘安装系统
以上完成后重启会进入类似如下界面
1.点击右下角有个U盘图标的大图标
2.第一个图形界面安装直接enter
3.这时候你会发现你的键盘和触控板没办法使用了,不要慌,安装后也都会无法使用(这个我暂时还没解决)
外接键盘选语言enter、汉语英语都可以
4.国家区域选择enter
5.语言选择enter
6.这个地方报错之类的也不用太理会,如果出现问你需不需要外置设备xxxxx选否就好
7.这个填名字无碍enter
8.域名这个空着也行enter、用户名密码先填个简单的
9.中间还会有让你配置无线网络的,都是默认选项wifi要选你自己的wifi及对应密码或者手机开热点,enter、这里磁盘一定不要选错(无图)、选最大的连续空间那个、然后选择你分区来的50G的空间的那个盘确定好后进入下图点是
10.enter
11.这里不要动保持默认就好、要确定好包含xfce、之后enter
三、解决网络问题更改软件包源
重点来了:
这里正常需要很长时间,而且会失败。
这是正常的,因为使用的源和国内网络不搭或者可能会被防火墙拦住、不要慌失败后跳回主界面的配置软件包管理然后继续enter下来回到这个界面
这里还会失败一次正常情况。
接下来跳回主安装界面时选择下面的运行shell进入shell模式
执行命令:
chroot /target
nano /etc/apt/sources.list
此时可以看到文件里应该存有一行kali的官方源(如果没有输入ctrl+x然后exit两次返回配置软件包管理再失败一次)
原来的那一行不要动放在那里另起一行、输入下面4行源
#aliyun 阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# ustc 中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
输入完毕按ctrl+o、ctrl+x写入然后退出
nano /etc/apt/sources.list再确认下是否写入成功
输入两次exit+enter退出shell界面
重要: 此时直接选安装软件,不要回到配置软件包或者上面的其他的选项、不然你要再重新配置了
接下来就考验你的网络情况了,正常重复1-2次安装即可成功
四、收尾
五、安装成功了,但是烦恼才刚开始
新版本一般都安装上就可以联网了,老版本可能需要查资料修复网卡问题。
首先,输入法安装
1.使用命令更新 apt-get update && apt-get upgrade 同步源的索引,升级软件包
2.使用命令 apt-get install fcitx 安装输入法框架
3.使用命令 apt-get install fcitx-googlepinyin 安装谷歌输入法
4.使用命令 reboot ,重启系统
5.点击菜单设置、点击ALL---点击小企鹅输入法(即输入法框架)
默认输入法为EnglishUS(根据系统),点击 +号
取消对勾---搜索谷歌
将谷歌输入法置于第一输入、然后测试一下
最后,接下来有几个问题
1. Wifi
这款MacBook使用的是Broadcom无线板,虽然不是很好,但至少我们能获得不错的wifi。内核使用的brcmfmac模块有一个问题。以下是解决方法。
1.下载 https://gist.github.com/cristianmiranda/6f269797b62076c3414c3baa848dda67#file-brcmfmac43602-pcie-txt
2.之后 cp brcmfmac43602-pcie.txt /lib/firmware/brcm
Wifi正常工作,但有几个问题你需要注意:
1.连通性信号不是最好的。
2.在挂起/唤醒后,5千兆赫网络是不可见的,即使他们是,你不能连接到他们。2.4 GHz工作正常
2. Spoof macOS
我们需要让笔记本电脑认为她将启动macOS,否则会有一些组件无法供电,包括集成的英特尔GPU。为此,我们将使用自定义EFI文件如下:cd /tmp
# 更多 at https://github.com/0xbb/apple_set_os.efi/issues/20#issuecomment-557352747
wget https://github.com/0xbb/apple_set_os.efi/files/3877561/apple_set_os.zip
unzip apple_set_os.zip
# As root...
sudo su
mkdir -p /boot/efi/EFI/custom
mv /tmp/apple_set_os.efi /boot/efi/EFI/custom
我们需要编辑GRUB
sudo su
nano /etc/grub.d/40_default
# Add the following lines:
search --no-floppy --set=root --label EFI
chainloader (${root})/EFI/custom/apple_set_os.efi
boot
# Update grub
update-grub
**Note:*
如果你喜欢使用rEFInd,那完全可以。只要记得取消注释 "spoof_osx_version" 在 refind.conf 文件中
更多:rEFInd's documentation site.*
3. 切换到 iGPU
这款笔记本电脑有两个GPU板,一个是集成的Intel显卡,另一个是ATI专用的Radeon显卡。由于没有驱动这张卡工作正常,我们将不得不切换到集成的一个,然后关闭专用的GPU电源。
sudo su
# Blacklist amdgpu
echo "blacklist amdgpu" > /etc/modprobe.d/blacklist-amdgpu.conf
# 切换到 GPU
cd && git clone https://github.com/0xbb/gpu-switch
cd gpu-switch
sudo ./gpu-switch -i
- Reboot
- 现在我们将加载amdgpu模块并正确关闭
sudo su
gpu-manager | grep 'amdgpu loaded? no' && sudo modprobe amdgpu || echo 'AMD GPU already loaded'
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
更多
https://github.com/Dunedan/mbp-2016-linux/issues/6#issuecomment-416015734
**Note:* 每次重新启动时重复最后三个步骤(可以自动进行)*
4. 音频
音频不工作,以下解决
sudo su
cd /tmp
sudo apt-get install wget make gcc linux-headers-generic
git clone https://github.com/leifliddy/snd_hda_macbookpro.git
cd snd_hda_macbookpro
./install.cirrus.driver.sh
**Note:*
重新启动系统更改生效
5. Touchbar
sudo apt-get install git dkms
cd /tmp
echo -e "\n# macbook12-spi-drivers\napplespi\napple_ib_tb\nspi_pxa2xx_platform\nintel_lpss_pci" >> /etc/initramfs-tools/modules
git clone https://github.com/roadrunner2/macbook12-spi-driver.git
cd macbook12-spi-driver
git checkout touchbar-driver-hid-driver
dkms add .
uname -r # check kernel version
dkms install -m applespi -v 0.1 -k 5.3.0-24-generic # replace this with your kernel version
# lsinitramfs /boot/initrd.img-5.3.0-24-generic | grep -i "dkms/apple"
lib/modules/5.3.0-24-generic/updates/dkms/apple-ibridge.ko
lib/modules/5.3.0-24-generic/updates/dkms/apple-ib-tb.ko
lib/modules/5.3.0-24-generic/updates/dkms/applespi.ko
如果你想让f键在默认情况下总是开着,并且Fn按钮可以从f键切换到特殊键,那么使用下面的命令(如果不是,fnmode=1):echo 'options apple_ib_tb fnmode=2' | sudo tee /etc/modprobe.d/apple_ib_tb.conf
echo 'options apple_ib_tb idle_timeout=60' | sudo tee /etc/modprobe.d/apple_ib_tb.conf
update-initramfs -u -k 5.3.0-24-generic # replace this with your kernel version
你也可以交换fn和一个控制键:
echo 'options applespi fnremap=1' | tee /etc/modprobe.d/applespi.conf
update-initramfs -u -k 5.3.0-24-generic # replace this with your kernel version
或重新映射到任何其他键
# modinfo applespi | grep -w fnremap
parm: fnremap:Remap fn key ([0] = no-remap; 1 = left-ctrl, 2 = left-shift, 3 = left-alt, 4 = left-meta, 6 = right-shift, 7 = right-alt, 8 = right-meta) (uint)
Bonus #1 - 键盘
这里有一个如何重新映射键盘的指南.
https://medium.com/@petrstepanov/a-macos-like-keyboard-remap-on-ubuntu-linux-cae1d108a97
Bonus #2 - 触控板
Trackpad在Linux上不是很好,这里是如何改进它的。
https://int3ractive.com/2018/09/make-the-best-of-MacBook-touchpad-on-Ubuntu.html
不支持
- Built-in microphone
- Hibernation
- Audio after suspend
- 5 GHz wifi networks after suspend
支持情况
查看https://github.com/Dunedan/mbp-2020-linux
感谢!
如果你对这个话题有任何疑问或者有任何新的发现,请不要犹豫,立即发表评论。
非常感谢所有让这一切成为可能的人。令人难以置信的是,这么多的人花时间在这上面却不求任何回报
参考:
Macbook 安装kali linux 双系统 2020.3 超详细的更多相关文章
- 笔记本在安装Windows+Linux双系统后,进入Windows时花屏的解决办法
问题:在笔记本安装双系统(Windows7+Ubuntu14.04)[先安装Windows,后安装Ubuntu]后,进入Windows时出现了花屏. 问题原因:笔记本只有集显,在系统启动时会先加载Ub ...
- win10安装kali组双系统
一.镜像下载: 根据需求下载自己需要的版本 从官网下载kali 2018.2 的安装包:https://www.kali.org/downloads/ 二.烧录: 这里推荐用 win32 disk i ...
- mac安装linux双系统的吐槽
[First day] 尝试安装mac - linux 双系统 首先,尝试的是ubuntu16.06版本,要把双系统安装至电脑硬盘512G SSD中, *** 分盘 1.1 打开实用工具中的磁盘管理工 ...
- [双系统linux] ----双系统切换导致系统时间错误
安装了linux双系统以后,发现每次双系统切换以后系统时间总会错误. 原因:Linux和win7(win10)双系统时间错误问题 时间相差8小时 MAC/linux 将系统硬件时间看待为UTC, 即U ...
- Win7上安装Linux双系统
今天帮同学在Win7上安装Linux,感觉一篇教程很不错,mark一下 原地址:Win7下U盘安装Ubuntu14.04双系统步骤详解 一.前期准备 1.大于2G的U盘一个(我的系统盘制作完成后大约占 ...
- 【解决方法】安装Win7和linux双系统后,linux报错“无法分配所提交的分区 not enough free space on disks”问题,以及win7无法启动“BootMGR image is corrupt....”问题
近日,在笔记本上重装了Win7 企业版(64位)后,想装个linux双系统,于是开始安装 centOS 6.2(光盘安装) 硬盘分了一个主分区(c盘),一个扩展分区(3个逻辑分区:d,e,f盘),然后 ...
- 如何安装win10+Red Hat Enterprise Linux双系统?
1,如何安装win10+Red Hat Enterprise Linux双系统???? 有很多人(没做过调查,可能就我自己想装吧)想要安装Red Hat Enterprise Linux系统,但是又不 ...
- 安装Windows 和 Linux双系统(vmware) Centos7
这里我安装的是Windows + Centos 7,如果是要安装Centos 6,步骤一样 一.安装Windows和Linux双系统需要先安装Windows然后安装Linux 解释:这里解释下为什么要 ...
- 手把手教你Windows Linux双系统的安装与卸载
作者:-叶丶知秋 链接:https://blog.csdn.net/fanxueya1322/article/details/90205143 转载请保留出处 良许前言: 后台突然有很多小伙伴留言想看 ...
随机推荐
- 钓鱼教程 All In One
钓鱼教程 All In One youtube https://www.youtube.com/results?search_query=钓鱼教程&sp=CAM%3D 钓鱼证 https:// ...
- vscode & typescript & optional-chaining bug
vscode & typescript & optional-chaining bug https://www.cnblogs.com/xgqfrms/p/11745541.html ...
- Flutter: AnimatedList 一个滚动容器,可在插入或移除项目时为其设置动画
Flutter Widget of the Week import 'dart:math'; import 'package:flutter/material.dart'; void main() = ...
- 在 2021 年你需要掌握的 7 种关于 JavaScript 的数组方法
在新的一年我们学习这些有用的方法 JavaScript 为我们提供了许多处理数组的不同方法.我们将在几分钟内为您介绍 7 个基本且常用的数据方法,以提高您的 JS 开发技能. 1. Array.map ...
- Java8 关于stream.foreach()和stream.peek()的区别解析
该思考来源于日常工作中,特记此心得. 思考:如何快速将list中的每个item内部属性值改变并进行其他流体操作呢? 下面做个测试:如何先在list中统一改变某属性的值,然后再根据某个属性取出该属性值最 ...
- SecureCRT无法登陆ubuntu问题解决的方法(亲测有效)
最近在虚拟机安装了几个ubuntu系统玩耍,然后想着用SecureCRT在Windows本地连接但是怎么也连接不上!!!如下,这只是示意图,ip地址是瞎编的,但是情况完全相同,期间尝试过让linux和 ...
- Docker 概述(一)
1-1 虚拟化技术发展史 在虚拟化技术出现之前,如果我们想搭建一台服务器,我们需要做如下的工作: 购买一台硬件服务器:在硬件服务器上安装配置操作系统系统:在操作系统之上配置应用运行环境:部署并运行应用 ...
- PHP代码审计_用==与===的区别
目录 背景介绍 如何审计 绕过案例1 绕过案例2 背景介绍 比较==与===的差别 == 是等于符号,=== 是恒等于符号,两个符号的功能都是用来比较两个变量是否相等的,只不过两个符号的比较维度不一样 ...
- Cloudam云端携手高校探索云计算在生命科学领域的应用
随着云计算服务和实践的成熟,越来越多的行业对于云计算的需求也日益增加.不同行业的需求与云计算融合,就需要更大的算力支撑.这也意味着,云计算的需求市场日渐扩大,Cloudam云端自主研发的云E算力平台应 ...
- HDOJ-1358(字符串压缩+KMP)
Period HDOJ-1358 这题还是属于KMP算法的应用,属于字符串压缩问题.也就是在一个字符串s中寻找一个前缀,使得s可以被一份或者多份前缀子串t拷贝连接,也就是串接. #include< ...