适用于Windows的Linux子系统踩坑记录(In Update)

exit 0

前言

最新换了新笔电,结果硬件配置太新,Ubuntu18.04、Linux Mint19装上后都有问题,无耐又回到了Windows10,现在就只能折腾win10的Linux子系统了(不喜欢虚拟机),尽量在win10上折腾出一个好用的工作环境出来吧 ~

Contents


  • 安装Linux子系统
  • 使用ssh远程登录Linux子系统
  • 安装MyDock和TranslucentTB
  • /mnt目录下挂载的文件系统默认权限为777的问题
  • win10家庭版启用hyper-v虚拟化技术安装virtualbox
  • win10 virtualbox启动虚拟机失败
  • linux和win10跨系统开发git仓库文件权限的问题
  • 更换阿里软件源
  • VMware Workstation 与 Device/Credential Guard 不兼容

安装Linux子系统


  1. 在控制面板里打开启用或关闭windows功能
  2. 勾选适用于Linux的Windows子系统
  3. 确定安装并重启
  4. 应用商店搜索Linux安装Ubuntu18.04

使用ssh远程登录Linux子系统


  • 安装ssh
$: sudo apt install ssh
  • 修改sshd配置
# 备份sshd配置文件
$: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak
# 修改内容
ListenAddress 0.0.0.0 # 取消注释
#StrictModes yes #加注释
PasswordAuthentication yes # 允许密码登录
  • 启动ssh
$: service ssh start
  • 如果提示sshd error: could not load host key,执行:
$: sudo rm /etc/ssh/ssh*key
$: sudo dpkg-reconfigure openssh-server
  • win10商店安装Termius(ssh客户端工具)

安装MyDock和TranslucentTB


desktop
MyDock

MyDock是一款能让Windows系统用上Dock栏的软件,毛玻璃效果很棒,可自定制程度也很高。

TranslucentTB

TranslucentTB是一款能使Windows10系统任务栏透明化的小工具,支持毛玻璃透明效果。

/mnt目录下挂载的文件系统默认权限为777的问题


Insider Build 17063 中,wsl加入了DrvFs功能,在WSL和Windows文件系统中充当桥梁,使WSL的文件权限可以支持更多的Metadata和更多的Mount选项。详细介绍看这里 Chmod/Chown WSL Improvements
使用简单命令就可以用drvfs重新mount硬盘:

$: sudo umount /mnt/c
$: sudo mount -t drvfs C: /mnt/c -o metadata

或者使用添加umask和fmask等参数:

$: sudo mount -t drvfs C: /mnt/c -o metadata,uid=1000,gid=1000,umask=22,fmask=111

但是每次使用时手动mount也太麻烦了,这时正好用上另一个新特性 Automatically Configuring WSL。把下面automount的选项添加到/etc/wsl.conf文件中就可以了。

[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
mountFsTab = false

现在重启WSL的console, windows硬盘上的文件和文件夹都拥有正常权限了。但是坑还没有完,如果这时用mkdir命令创建一个空文件夹,就会发现新的文件夹还是777权限。这可能是wsl的一个bug (Issue 1801, Issue 352),console默认的umask值仍然是0000。work-around的方法是在.profile、.bashrc、.zshrc或者其他shell配置文件中重新设置一下umask。

#Fix mkdir command has wrong permissions
if grep -q Microsoft /proc/version; then
  if [ "$(umask)" == '0000' ]; then
  umask 0022
  fi
fi

win10家庭版启用hyper-v虚拟化技术安装virtualbox


win10家庭版是没有带hyper-v客户端的,需要自己用脚本安装

  1. 创建hyper-v安装可执行脚本hyper-v_setup.cmd,右键以管理员来运行
pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt

for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hyper-v.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
  1. 重启后hyper-v已经安装,按下win + q快捷键输入启用和关闭windows功能,然后检查hyper-v是否已经勾选安装

  2. 重启进入bios(按下F2 或 Del 或 Esc 或 F12键),将Intel Virtual Technology 设置为enable,启用bios的虚拟化功能

win10 virtualbox启动虚拟机失败


virtualbox启动虚拟机报错Raw-mode is unavailable courtesy of Hyper-V

  1. 按下win + x选中以管理员启动命令行
  2. 检查hypervisor状态:
bcdedit
  1. 如果hypervisorlaunchtype一行显示为auto的话,将它禁用
bcdedit /set hypervisorlaunchtype off
  1. 重启电脑打开virtualbox查看是否正常运行

linux和win10跨系统开发git仓库文件权限的问题


有时候新克隆下的仓库无端地就有文件的修改(git status),查看git状态,发现是文件权限变动的问题:

$: git diff file
old mode 100644
new mode 100755

=> 原因:Linux和Win10文件系统权限管理的问题
=> 解决:设置git忽略文件系统权限冲突的问题

# 全局
$: git config --global core.filemode false
# 位于单个仓库目录下
$: git config core.filemode false

更换阿里软件源


  1. 备份/etc/apt/sources.list
  2. 编辑替换为阿里源(Ubuntu 18.04)
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
  1. 更新软件
$: sudo apt update
$: sudo apt upgrade

VMware Workstation 与 Device/Credential Guard 不兼容


open powershell in admin mode.

# close and reboot
> bcdedit /set hypervisorlaunchtype off
# if you want to reopen it sometime
> bcdedit /set hypervisorlaunchtype auto
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345