# 【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

原文地址:https://www.cnblogs.com/huty/p/8517625.html