# 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机

【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题

标签(空格分隔): 【Linux开发】


一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu作为ARM开发的宿主机来操作,包括系统的安装都非常的简单。下面是在Win7的系统上,直接开辟了一个硬盘安装了Ubuntu14.04,记录其中遇到的一些技术问题。


刚开始一直试着用U盘去启动安装,(本来是尝试用光盘来刻录操作系统去装,结果没有找到光盘,直接将镜像压缩包放在了一个空的SD card中),从U盘启动,似乎不行。然后放弃了,后来硬着头皮直接在Win7下解压缩,得到的居然是exe的可执行文件,然后通过可执行文件来安装Ubuntu。

安装过程很简单,选择好硬盘和设定用户名,就可以了。

然后重启,重启就发现了一系列的问题。

1. 关于显卡初始化的问题

起初一直用的是独立显卡GTX1060的Digital Port,然后直接接到了Digital Port,也可以用电脑的Digital Port转接VGA得到VGA信号。后来选择Ubuntu进行启动之后,发现显示器变黑之后一直没有变过来。这个时候我就意识到了显卡驱动可能不在。第一反应是使用集成显卡,然后进入Win7中用GPU graph查看GPU的配置情况,居然只看到了Nvidia的1060显卡。我就很纳闷,这个主板上的DVI接口难道不是集成显卡的输出信号吗?于是想着进入BIOS发现了其中的奥秘,原来是集成显卡这一项在初始化的配置中是关闭掉的,后来我把它给开启了,然后仍然用独立显卡中的Digital port进入Win7发现驱动进行了安装,再次用设备管理和GPU View来看,都能看到Intel自带的集成显卡。刚开始没有DVI的连接线,而且在整机送来时带了一个DVI转VGA的线,我试着将DVI接口插入电脑,发现针居然不对,我把转接头的最后那个大针的两侧共4个小插片给弄弯了,之后可以插入进去,但是在Win7下,无论用集成显卡还是独立显卡都不能显示,我就意识到这个转接头或者我撇掉的四个pin可能不行。从网上大致了解的信息说是DVI接口也有什么差分线之类的,只有那种两边各有2个插片的接头才能转出VGA信号,而没有差分线的那种是不可以的。后来又直接问了云轩电脑店的,在他的意见下,我决定放弃掉这种方式,然后重新购买了DVI线缆,直接引出接到显示器的DVI接口上去显示。大致等了一天,第二天晚上再次接上,发现可以显示,但是问题又来了,显示只能在比如Win7启动之后才会显示,而启动过程却显示没有信号,这让我十分的郁闷。总之,这个Ubuntu安装的真是坎坷。于是又放弃了一天,到第三天的下午,有继续去尝试,从网上去查为何DVI接口是在启动过程中不显示,而在启动之后才开始显示。也没查出啥原因,有一点启发作用是看到了有人说去BIOS中查看相关的设置,我起初以为自己都全部配置好了,就没有多多去想,可是当我进去之后发现确实是已经配置过的,就是那个高级配置中的显卡配置。但是其中只有一项我不太确信到底是选择哪个,因为没有去查相关的专业用语,因为有一项是优先初始化哪个显卡,我当时第一次配置的时候说是IGD,这个应该是independent graph device?所以,应该选择上面哪个?我当时是这样想的,当我第二次在进入的时候,特意查了一下这个配置集成显卡的事情,后来确定哪个IGD实际上是集成显卡的简称,那一个选项选择的就是优先初始化哪一个显卡,当然如果要在开机启动时就能显示的话肯定是优先初始化集成显卡,当我切换过之后,再重启,忽然间就发现DVI接口在启动的时候也能点亮显示器了。之后急忙进入Ubuntu,然后发现出现了一列的问题,我决定重新安装一下,因为也比较简单,直接格式化掉该盘,然后重新安装一下,后面的事情就相对比较顺利。

  1. 关于出现为/检查磁盘时发生严重错误的解决方法

参考了网上的经验,通过设置启动项中的参数来解决这个问题:

http://jingyan.baidu.com/article/0aa22375bbffbe88cc0d6419.html

  1. 关于出现网口无法识别的问题

这个问题让我很是惊讶,起初以为是驱动没有装,然后试了一系列指令都说网卡应该是正常的,最后通过一句话将这个问题得到了解决,但是目前还不确信是完全解决了还是别的。

通过与相关人员沟通 ,执行以下命令解决:ethtool -s eth0 autoneg off speed 100 duplex full,如果是非root,请加sudo处理。

我为了能够自启动,在/etc/profile文件中添加了这句命令,期望是能够自己启动解决问题。

这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置。

下面是关于一些网卡的命令的说明:

命令描述:
ethtool 是用于查询及设置网卡参数的命令。
使用概要:
ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
使用举例:
1)[root@linux /]# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: d
Link detected: yes
2)[root@linux /]# ethtool -i eth1
driver: e1000
version: 5.0.43-k1
firmware-version: N/A
bus-info: 06:08.1
3)[root@linux /]# ethtool -S eth1
NIC statistics:
rx_packets: 58068300
tx_packets: 87124083
rx_bytes: 1589713008
tx_bytes: 2165825901
rx_errors: 0
tx_errors: 0
rx_dropped: 0
tx_dropped: 0
multicast: 0
collisions: 0
rx_length_errors: 0
rx_over_errors: 0
rx_crc_errors: 0
rx_frame_errors: 0
rx_fifo_errors: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_fifo_errors: 0
tx_heartbeat_errors: 0
tx_window_errors: 0
4)[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full
相关参考:
1)[root@linux /]# which ethtool //查询 ethtool 存放的路径
/sbin/ethtool
2)[root@linux /]# rpm -qf /sbin/ethtool //查询 ethtool 的版本信息
ethtool-1.6-5
3)将 ethtool 设置永久保存在网络设备的方法
解决方法一:
ethtool 设置可通过 /etc/sysconfig/network-scripts/ifcfg-ethX 文件保存,从而在设备下次启动时激活选项。
例如:ethtool -s eth0 speed 100 duplex full autoneg off
此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
解决方法二:
将ethtool设置写入/etc/rc.d/rc.local之中。 Linux 主机的硬件配备
lspci 找到的是目前主机上面的硬件配备
[root@www ~]# lspci [-vvn]
选项与参数:
-v :显示更多的 PCI 接口装置的详细信息
-vv :比 -v 还要更详细的信息
-n :直接观察 PCI 的 ID 而不是厂商名称 查阅您系统内的 PCI 装置:
[root@www ~]# lspci
#不必加上任何选项,就能够显示出目前的硬件配备为何
Host bridge: <==主板芯片
VGA compatible controller <==显卡
Audio device <==音频设备
PCI bridge <==接口插槽
USB Controller <==USB控制器
ISA bridge
IDE interface
SMBus
Ethernet controller <==网卡 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 查看一般详细信息
[root@www ~]# lspci -v
查看网卡详细信息:
[root@www ~]# lspci -s 04:00.0 -vv
-s :后面接的是每个设备的总线、插槽与相关函数功能

2016-11-16 20:35

张朋艺 pyZhangBIT2010@126.com

上一篇:javascript 通过模块模式实现代码访问控制


下一篇:Ubuntu 14.04.5 imx6 开发环境搭建