美文网首页
适用于Windows的Linux子系统踩坑记录(In Updat

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

作者: nojsja | 来源:发表于2018-11-11 23:18 被阅读0次
    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
    

    相关文章

      网友评论

          本文标题:适用于Windows的Linux子系统踩坑记录(In Updat

          本文链接:https://www.haomeiwen.com/subject/rsgffqtx.html