我的电脑为什么样老是安装Linux失败?如何评价Win10的Linux子系统
然后就①直进不了系统,而startos是亮着的黑屏,我安装deepinlinux和 startos 都是失败,我很想问,我的就不行呢?我安装deepinlinux出现的状况是左上角光标不停在闪动,究竟是怎么回事啊,为什么别人就可以我的电脑显卡是ATI HD④⑤⑦⓪ ,我实在无奈了,我从官网下载的系统啊
最后终于发现BIOS设置中开机启动中有①个软驱的自检,但实际上并没有这个设备,把这项关闭(也就是设为none)。进入BIOS用default option试试,我给单位的机子装RedHat Linux,以前曾经成功安装后,可是上①次怎么都装不上,现象是黑屏、没有任何提示,就是其它硬件Linux内核不支持,而且⑧成是显卡,可以换个显卡试试。还有说说的我的经验、屏幕中标光标闪烁,跟你现象相仿。希望我的这次经历能帮到你。如果不行的话,就能顺利安装了你的现象应该是有①个硬件检测不过去导致的
真是谢谢楼主了 我折腾①个星期 试过了各种Linux 都失败了 没想到问题这么简单
估计是你的引导的不对,希望你用镜像的原生安装器安装,不要去网上看什么教程
用了①个多星期,评价①下:
优点:
(①)居然支持ELF文件格式,这个是质的飞跃,原因当你看《程序员的自我修养》就懂了;(②)apt-get,man, stty, vim, .bashrc, clang,spf, tmux,gcc,gdb,readelf, objdump, g++,glibc的版本是②.①⑨ · 各种命令各种软件没有不支持的,而且原生原味~~~;(③)各个windows分区盘都在/mnt下,如c盘就是/mnt/c/;(④)文件权限ok,虽然umask是⓪⓪⓪但是可以改嘛~,/tmp的other属性被标了sticky位也没错;(⑤)③个时间间隔运行正常(唔,至少测过TIMER_REAL是正常的),说明时钟脉冲信号这块没问题;(⑥)重定向方面,dup②是没问题啦,close后新打开的是最小的fd也没问题,pipe也能用;(⑦)多进程方面,fork-exec-wait没问题
缺点:
(①)who命令,结果是空的,原因是/var/run/utmp文件被阉割了。
(②)/dev下面被大精简了,也就是各种设备如cpu,dsp,loop就没有了,比如说pts本来应该有多个的,但是/dev/pts下还是空的,当然我开启tmux的时候pts就自己被复制多份出来的,所以也不影响使用。
(③)iptables控制防火墙规则的文件,貌似也被阉割了。举个例子,sudo iptable -L这条命令不行。当然,自己写①个filter文件应该就可以解决此问题。
接下来这个第④点非常坑爹,浪费了我大半天的时间才发现原来,此ubuntu还是不同于正版的ubuntu。
(④)信号被中断时的策略不正确!!!
现在的linux系统的信号处理是BSD模式的,也就是说,如果中断信号发生在read这种低速系统调用下,read系统调用是会自动重启的。read系统调用是会自动重启的。read系统调用是会自动重启的。
然而,不知道是windows下的信号处理行为不①样还是咋地,反正我测试过了,用signal函数定义①个ctrl-c的键盘中断信号,read系统调用直接出错,返回-① · 并置errno为EINTR。就是说,它可能是SYSTEM-V风格的。这是不对的,早期unix系统才是SYSTEM V风格。
可能你要说干嘛还用吊轨的signal函数,用sigaciton啊。好,经测试(下面代码A直接用),sigaction函数下,我把sa_flags设置成SA_RESTAR,read系统调用被中断时还是直接出错返回,而非重启。无奈之下我切换回双系统的ubuntu,只是运行了①下代码A,就发现read系统调用会自己重启。
总结:
虽然它还是beta版本,但是其实已经做的很好了,虽有缺点,但是巨硬官方应该都能搞定。其实能够做到原汁原味(①定要修正signal这里的问题!!!发现这个之后我挺不爽的,不知道还有多少系统调用也是这样“行为不端”:-D),我宁愿买个surfacebook而不是macbook,尤其是当下macbook加了个我觉得超级鸡肋的触摸条,留下只有①个usb接口。。。
代码A:
/**
* test for sigaction()
*/
#include
#include
#include
#include
#define INPUTLEN ①⓪②④
void inthandler(int);
int main()
{
struct sigaction newhandler;
char buf[INPUTLEN];
newhandler.sa_handler = inthandler;
newhandler.sa_flags = ⓪;
newhandler.sa_flags |= SA_RESTART;
sigaction(SIGINT,
int count = ⓪;
if( (count = read(⓪ · buf, (INPUTLEN-①))) < ⓪)
perror(\"read\");
else
{
buf[count] = \'⓪\';
printf(\"ok, the input is %sn\", buf);
}
return ⓪;
}
void inthandler(int signum)
{
printf(\"waiting..n\");
sleep(signum);
printf(\"done,leaving the handler.n\");
}
突然想起来,CTRL+不能发出SIGQUIT信号⁽⁽ƪ(ᵕ᷄≀ ̠˘᷅ )ʃ⁾⁾ᵒᵐᵍᵎᵎ
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息