分类
Linux

Win 10和Ubuntu 18.04安装在同一个硬盘并实现GRUB界面双系统启动

原先在自己的华为Matebook X Pro上直接用Ubuntu的启动U盘安装,选择与windows共存,一切非常顺利。这次在PC机上安装也成功,就是不出现GRUB启动界面,直接到grub>恢复界面。但是,如果用BIOS的UEFI启动,也就是按F8选择启动盘,win10和ubuntu18都能顺利启动。

我想可能是安装不太成功,于是用DiskGenius删除掉Ubuntu的分区,重新安装,结果就再也不会有选择与Windows共存的选项,然后各种尝试/boot分区,主盘和逻辑盘、启动设置分区选择都未能成功过,甚至删了EFI分区的Ubuntu目录,也不再出现与Windows共存的安装选项,而选择其他方式,网上的那些都方法都没有成功过。

有看到一篇用grub恢复命令来恢复GRUB启动界面的,但命令太多,而且只能key in没去尝试,ITGeeker技术奇客觉得技术不带这样欺负人的。

于是选择了Ubuntu启动盘的试用Ubuntu,安装工具boot-repair尝试修复:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

sudo apt-get install -y boot-repair && boot-repair

据说好多人选择自动修复都成功了,但是ITGeeker技术奇客不太幸运没有成功,错误提示:

The current session is in Legacy mode. Please reboot the computer, and use this software in an EFI session. This will enable this feature. For example, use a live-USB of Boot-Repair-Disk-64bit (www.sourceforge.net/p/boot-repair-cd), after making sure your BIOS is set up to boot USB in EFI mode.

Please write on a paper the following URL:
http://paste.ubuntu.com/p/MQ8dPKFdZ3/

If you are experiencing boot issues, indicate this URL to people who help you. For example on forums or via email.

当时ITGeeker想想这个也太折腾人,所以没有去尝试,而且手上有个Sandisk Cruzer Blade 8G,红色的那个,用RUFU写了Ubuntu安装盘之后用UEFI启动就没成功过,想想可能这U盘不知道此UEFI启动,所以又尝试了各种安装方法,包括工具EasyUEFI,BOOTICEx64.exe等,都还是未能成功,总结出来,不管选主分区还是逻辑盘,什么/boot, /home之类都没啥关系,最终选择安装方法,除了一个biosgrub保留分区(Ubuntu提示必须的)+ /根分区,其他一概不设置了,安装完后还是不能找到Ubuntu的启动盘符。

翌日,ITGeeker那个Sony U盘,按照上面的反馈,去http:// www.sourceforge.net/p/boot-repair-cd下载了维修工具,乖乖708M之大,黔驴技穷,只好试试了。

使用UEFI启动维修硬盘,实际就是个Ubuntu的系统加工具,但比试用Ubuntu时安装的要多一些内容,然后经过十几分钟的修理,中间还要根据提示,在Terminal输入相关命令来配合维修,终于GRUB的菜单恢复了,里面多了几个启动的杂项,但Win10和Ubuntu 18都能顺利启动。

ITGeeker技术奇客中间还考虑过自行修改efi文件,但据说这东西要用C语言编写,然后编译,太过复杂。也希望Linux能在多系统启动方面都些方便,这样使用Linux的人自然会越来越多。

分类
python

Python处理文件名或路径名中无法decode代码问题

首先讨论的是python 2处理时的问题,其实不是单单指中文名的问题,即使是中文名称,如果能够decode还是没问题的,比如用如下这些方法:

  • – coding: utf-8 –– 或者 –– coding: gbk –
  • 强制utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
  • .decode(‘gbk’).encode(‘utf-8’)
  • unicode(path_name,’utf8′)

当然path前加r, 或者wingdows转用反斜杠,然后用了这四种方法还不行,windows下执行提示windows error 123之类的错误,发现文件名中会有无法decode的符号问号 ?的,基本就是在python 2之下无法解决了。

Windows Error错误参考:

  • WindowsError:[Error 2]        不存在这个文件
  • WindowsError:[Error 3]        没有这个路径
  • WindowsError:[Error 5]        权限问题
  • WindowsError:[Error 13]       该文档被其它程序占用,处理不了  
  • WindowsError:[Error 123]      路径语法有误
  • WindowsError:[Error 145]      目录非空,多在删除非空目录时出现

不要再花时间去解决python 2处理文件名的问题了,基本无法解决的,还是转用python 3吧,ITGeeker技术奇客测试已完美解决,用的是python 3.6的版本,而且是WSL的Ubunt版本测试的。而且现在更新到win10 2019 May的更新版,可以在微软商店直接下载3.7官方版本了,这是催促大家赶紧放弃python 2的节奏。

Python 3.6默认使用utf-8编码,当然你也可以再加上reload在文件首,但和python 2有所不同:

import importlib
import sys
importlib.reload(sys)
分类
技术前沿

5G相对4G的8大关键能力提升

一直都在说5G如何如何好,ITGeeker技术奇客今天来掰掰5G在那些关键参数得到了提升。

指标流量密度连接数密度时延移动性能效用户体验速率频谱效率峰值速率
4G参考值0.1 Tbps/Km210万/平方公里空口10ms350Km/h1倍10Mbps
(urban/suburban)
1倍1Gbps
5G取值 10 Tbps/Km2 100万/平方公里 空口1ms500Km/h100倍提升0.1-1Gbps至少3倍提升20Gbps

有些数字可能需要研究一下才知道什么意思,但只要对比数值的10倍百倍的增长率我们就应该觉得5G是非常值得期待的。