问题描述

Win10 64位专业版安装git 2.x之后出现 Git闪退,安装1.x出现bash: /dev/null: No such device or address fatal: open /dev/null or dup failed: No such file or directory 错误。

背景描述

由于换了新系统(OS是Win10 64专业版),需要重新安装Git,于是去官网下了Git的最新版本,安装完之后,发现不能用,一点开Git bash 就退出了,不知道怎么回事。我以前win10 家庭版也是官网下的最新版本,可以正常使用。于是,我初步断定是操作系统的原因,问了身边的同事,他们也都是win10,但是安装Git的时候没有出现类似的问题,很顺利的安装成功,但他们貌似都不是Win10专业版,都是什么家庭版,旗舰版。于是我去网上寻找答案,大家都知道网上的答案五花八门,很多是针对win7的,针对win10 的很少,且有的答案按照其说的做了仍然不能解决问题,下面我将分享我解决问题的 过程。

问题解决过程描述

  1. 网上有答案说是C:/Window/System32/drivers/null.sysnull.sys 这个系统文件损坏,于是我从同事那里拷贝一个过来,覆盖之,重启。没有解决问题
  2. 以管理员身份运行CMD,在CMD下输入 sfc /scannow 进行系统扫描修复。我的安装100%重启后问题依旧, 如果此过程中扫中途时候出现了如下的错误 
  3. 解决步骤二中的错误 
    第一步:在联网情况下,按按(Windows+X)+A,也就是在powershell命令提示符中输入
    DISM.exe /Online /Cleanup-image /Scanhealth 按回车键,
    DISM.exe /Online /Cleanup-image /Restorehealth 按回车键。

完成后请重启电脑。

上面的貌似也没解决我的问题。在此分享下终极解决办法,继续查找原因:

Windows 上也有 /dev/null????Google 一圈后发现确实有,是用一个系统服务模拟的:

在 windows/system32/cmd.exe 右键管理员方式运行:

C:\Users\Administrator>sc query null

手动启动该服务报错:

C:\Users\Administrator>sc start null

[SC] StartService 失败 577:

Windows 无法验证此文件的数字签名。某软件或硬件最近有所更改,可能安装了签名错误或损毁的文件,或者安装的文件可能是来路不明的恶意软件。

C:\Windows\System32\drivers\null.sys 从其他系统上拷贝一个过来覆盖,再启动 null 服务就正常了:

如何确定null.sys是否正常,很简单。实行如下命令:

C:\Users\Administrator>sc start null

SERVICE_NAME: null
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 0
FLAGS :

如果你一下子找不到可用的 null.sys,可以试试我这个(for Windows10 64位)。

如果sc start null 启动成功。OK,问题解决。

再次右键git bash here ,没有闪退了。皆大欢喜。这就是用盗版系统的悲剧。自己给自己挖的坑。

最后附上我的null的地址

链接:https://pan.baidu.com/s/1UtcZizm-iFcVk4OKrnFJVg 密码:1q4d

win10 专业版 git bash 闪退问题终极解决方案的更多相关文章

  1. 解决git bash闪退问题 报openssl错误

    问题描述:今天安装git之后发现Git Bash工具闪退. 于是试了各种办法之后,最后终于解决. 背景描述:git 下载地址:https://git-scm.com/download/win 下载成功 ...

  2. win10 git bash 闪退

    使用ghost重装了win10 专业版后.安装git,尝试重装了n个版本的git,右键git bash here 直接闪退,直接进入安装目录打开git-bash.exe依旧闪退, git右键点击Git ...

  3. Windows10中打开git bash闪退解决方案

    重装系统后打开gitbash莫名其妙闪退... 究其原因,好像是盗版系统的null.sys文件损坏 那就在这里附上null.sys文件的下载链接: https://pan.baidu.com/s/1V ...

  4. 双击startup.bat启动tomcat时闪退原因及解决方案

    在启动免安装tomcat时,很容易遇到双击startup.bat,启动窗口闪退而tomcat服务未启动的状况. 具体原因:tomcat在启动时,需要读取环境变量和配置信息,如果缺少Java环境,即缺少 ...

  5. iReport 5.6.0 启动闪退的问题 解决方案

    问题描述 本人使用的Windows版本的 iReport 5.6.0,安装成功后,双击桌面上的iReport-5.6.0图标,出现了闪退,无法正常启动的现象.现象如下: 问题原因 iReport 5. ...

  6. Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案

    即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的w ...

  7. win10下运行cmd闪退时检查方法

    在cmd下运行 exe加空格加斜杠加问号

  8. 【已解决】极速迅雷win10闪退解决方案

    [已解决]极速迅雷win10闪退解决方案 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Wed, 17 Jul 2019 18:01:00 +0800 在吾爱下载了个极速迅 ...

  9. 分割视图控制器(UISplitViewController) 改_masterColumnWidth 导致在 IOS 10中出现闪退

    默认UISplitViewController的Master和Detail的宽度是固定的,可以通过下面的方式来改变 [splitViewController setValue:[NSNumber nu ...

随机推荐

  1. Go Example--锁

    package main import ( "fmt" "math/rand" "runtime" "sync" &qu ...

  2. LeetCode - Rectangle Overlap

    A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bot ...

  3. centos7安装的mysql无法启动(mysql daemon failed to start)

    不知道是什么原因,启动mysql时一直报这个错误,卸载重装mysql也没用 后来看到网上有人说,执行命令mysql_install_db就可以了 一试还真的行

  4. pycharm 的操作1

  5. 初学者须知 常见的HTML5开发工具有哪些

    HTML5被看做是Web前端开发的最佳编程语言,具有多设备.跨平台.即时更新等优势.更重要的是HTML5入门简单,就业前景广.薪资福利高,这促使越来越多的人转行学习HTML5.学习要一步一个脚印,今天 ...

  6. jQuery -> 基于当前元素的遍历

    版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/FeeLang/article/details/26257549 假设我们已经通过jQuery方法选中了一组元 ...

  7. Hessian总结

    一.简介: Hessian是一个基于Binary-RPC 实现的远程通讯library,基于 Http 协议进行传输.通过其自定义的串行化机制将请求信息进行序列化,产生二进制流.响应端根据 Hessi ...

  8. Visual Studio Code 使用

    VS Code 快捷键: 快捷键 作用 Option+Up 或 Option+Down 上下移动一行 Shift+Option+Up 或 Shift+Option+Down 向上向下复制一行 VS C ...

  9. vue 和 react 组件间通信方法对比

    vue 和 react 组件间通信方法对比: 通信路径 vue的方法 react的方法 父组件 => 子组件 props(推荐).slot(推荐).this.$refs.this.$childr ...

  10. SPA项目中,404页面 和 登陆页面 对应的路由,应该怎样控制?

    SPA项目中,404页面 和 登陆页面 对应的路由,应该怎样控制? 可以这样做: 登陆之前,所有页面跳到 登陆页面:包括随便输入的路由地址. 登陆后,跳到相应页面:随便输入的.不存在的路由地址,才跳到 ...