精华内容
下载资源
问答
  • 如何在Linux服务器启动X Windows、X11

    千次阅读 2019-10-14 16:02:01
    什么是X X是一个协议1,并不是具体...X11又称为X Windows系统,是X协议的第11版本,也是一种位图显示的视窗系统。 窗口系统(Windowing system)2,是GUI的一种,Linux系统有很多窗口系统的实现:X Window System、...
    • 什么是X

      X是一个协议1,并不是具体的实现。类似HTTP,WSGI一样。

      一般称为X视窗系统协议,是一个图形结构,用于Unix和类Unix系统下的图形系统。

    • 什么是X11

      X11又称为X Windows系统,是X协议的第11版本,也是一种位图显示的视窗系统。

      窗口系统(Windowing system)2,是GUI的一种,Linux系统有很多窗口系统的实现:X Window System、Wayland、Android Surface Flinger等。

      作为使用最为广泛的Windowing system实现的X Window System,由MIT于1984年发布。

      X在W之后,W是MIT之前使用的GUI系统。

      X11包括X server和X client,两者之间通过X protocol通信。X server一般以daemon(守护进程,后台进程)进程的形式存在。

    • 如何启动X Window

    • 开机启动3

      Linux操作系统有六种不同的运行级别(run level)

      0:停机;

      1:单用户模式;

      2:多用户,但是没有NFS;

      3:完全多用户模式,标准的运行级;

      4:一般不用;

      5:X11,即进入到X-Window系统;

      6:重新启动

    • shell命令行中启动

      采用startx命令。

      如果输入startx后,提示没有此命令command not find,参见《shell连接CentOS启动可视化界面startx

    • References


    1. 通过X11实现 Linux服务器图形化界面显示 ↩︎

    2. 蜗窝科技:Linux graphic subsytem(1)_概述 ↩︎

    3. Linux启动、关闭x-window ↩︎

    展开全文
  • linuxXWindows系统启动脚本分析

    千次阅读 2010-07-05 10:11:00
    本文论述基于如下环境: ...安装了Linux后当然希望能进入XWindow,象在Windows一样方便地工作,于是大家都可能用过startx命令,也可能是直接在XWindow登录界面进入XWindow. 这两种方式的XWindow启动

    本文论述基于如下环境:
    Debian版本为:Debian GNU/Linux 3.1
    Linux内核版本为:2.6.15.6
    中文输入法:fcitx
    本文参考:man手册里的Xsession(5)

    安装了Linux后当然希望能进入XWindow,象在Windows一样方便地工作,于是大家都可能用过startx命令,也可能是直接在XWindow登录界面进入XWindow.
    这两种方式的XWindow启动过程有没有区别呢?如果你没有做过个性化设置可能体会不到,但如果你设置过中文输入法,不管是用SCIM还是fcitx,可能都有过设置输入法为随XWindow启动的经验。
    朋友们开始修改各种启动脚本,经常可能会修改到的方法有:

    总之,看起来是八仙过海各有各的神通了。这些方法有没有不同?为什么有时候明明设置好了,startx起来可以用了,但重启在XWindow管理界面登录后却不能用了?为什么有时从XWindow管理界面登录后可用,但startx后却用不了?
    下面我们一起来分析一下吧。
    关于本文档:
    /*********************************************************************
    *filename: Debian Linux下XWindow系统启动脚本分析
    *purpose: XWindow启动过程研究
    *wrote by: zhoulifa(zhoulifa@163.com ) 周立发(http://zhoulifa.bokee.com)
    Linux爱好者 Linux知识传播者 SOHO族 开发者 最擅长C语言
    *date time:2006-03-20 23:22:00
    *Note: 任何人可以任意复制代码并运用这些文档,当然包括你的商业用途
    * 但请遵循GPL
    *********************************************************************/
    先看一下/etc/X11/Xsession脚本文件内容,原文内容如下:

    此文件的第五行“# global Xsession file -- used by display managers and xinit (startx)”已经说明/etc/X11/Xsession脚本是大家公用的,无论你是用XWindow管理器(比如kdm、gdm、xdm)进入还 是通过命令行输入startx(即xinit方式)进入XWindow,都会调用此脚本程序。
    再看看这个脚本程序做了些什么吧。
    这一行“SYSSESSIONDIR=/etc/X11/Xsession.d”定义了一个变量指向了目录/etc/X11/Xsession.d,后面又出现一段代码:

    显然这里是搜索了目录/etc/X11/Xsession.d里面所有的脚本并一一执行完毕。
    同时请注意有这么两行:

    在这里并没有看到使用这两个变量,那么在这个脚本里定义来做什么?
    下面再看一下脚本/etc/X11/Xsession.d/50xfree86-common_determine-startup里的内容,原文如下:

    这一行“# This file is sourced by Xsession(5), not executed.”证明脚本是被之前的/etc/X11/Xsession调用的,而后面这一段:

    更证明了这一点。在这里脚本搜索用户目录$HOME下的.xsession或.Xsession脚本来执行。
    (在/etc/X11/Xsession.d目录下还有一些脚本,这里就不再分析了,各位有兴趣可以自己看看)
    另外来看看/etc/X11/xinit/xinitrc这个脚本,其原文内容如下:

    注意这一句“## global xinitrc file, used by all X sessions started by xinit (startx)”,这说明这个脚本只被xinit调用(即用户输入startx时)。而其执行的最后还是执行了/etc/X11/Xsession脚 本。而用户如果用其它XWindow管理界面登录系统时这个脚本里的内容是不会被执行的。
    最后再来看看/etc/X11/xdm/Xsession这个脚本吧,其原文内容如下:

    从内容来看,也是最终执行了/etc/X11/Xsession。

    再看看/etc/X11里面的目录结构:

    显然,这里把xinit和xdm、twm及gdm是分开的,在xinit里执行的脚本是不会被xdm里的脚本调用的。

    从上面对代码的分析,大家可以看到:其实XWindow执行的关键脚本是/etc/X11/Xsession,这个脚本会去 /etc/X11/Xsession.d目录里搜索脚本执行,也会去$HOME/下搜索脚本运行,而其它目录xinit、xdm等里面的脚本都会去调用 /etc/X11/Xsession这个脚本。
    所以,如果你想把中文输入法fcitx、SCIM等设置成随Xwindow启动,比如要加入如下脚本:

    那么可以用如下几种方法:

    另外,关于如何设置中文输入法,请参看我的文章《Linux中中文输入法随 XWindow启动的问题》,还有设置中文字体的应用,可以参见我的文章《[url="http://zhoulifa.bokee.com /4702927.html"]在Linux里使用Windows的TrueType字体[/url]》。
    大家习惯了在Linux下生活了吗?是否遇到过听歌没声音的情况?看看《Linux下/dev/dsp设备文件的作用》吧?

    展开全文
  • WindowsLinux启动,并用在Windows下配置CoLinux启动 WindowsLinux都是好东西,配置双启动不难,但是有时候在Windows下面想要临时换到Linux,总是麻烦。 以前都是用VmWare,配置使用实际硬盘,然后

    http://www.cppblog.com/newclear/archive/2009/09/27/97327.html


    Windows和Linux双启动,并用在Windows下配置CoLinux启动

    Windows和Linux都是好东西,配置双启动不难,但是有时候在Windows下面想要临时换到Linux,总是麻烦。

    以前都是用VmWare,配置使用实际硬盘,然后再Windows里面进行启动另一个分区里面的Linux然后操作。

    不过这样实在是麻烦,而且VmWare占用资源也是在太大,如果配置512内存,就要在系统里面直接占用掉512M内存,即使实际上Linux根本不用那么多。

    不过,前段时间发现了CoLinux这个好东西,可以把Linux内核作为Windows的本地进程运行,不错不错。

    研究了一阵子,先用从CoLinux站上提供的镜像实验了下,很令我惊喜:CoLinux进程内存占用非常少,而且如果系统内无负载的时候,CPU占用也基本为0。

    然后再看了看文档,发现也能使用真正分区启动,于是改了改配置,还真的起来了!

    嗯,下面就是我的配置方式了。

    首先,在某个分区上装好一个正常的Linux系统,我用的是Debian,装到/dev/sda2里面,配置Grub,和Windows多重启动。这个就不多说了。

    然后,进入Windows,到CoLinux网站上下载并安装,过程中会安装一些驱动,一路确认就好了。安装过程中会询问要下载某个系统镜像,如果想先试试就下,建议不用下。如果想试验某个镜像,也可以直接到网站上下载的。

    再然后,写一个配置文件,比如我的Debian.conf

    #指定内核,应该只能用CoLinux提供的这个内核,除非下源码来自己编译
    kernel=vmlinux

    #将分区指定到CoLinux设备上,表示方式和Linux不同
    #Harddisk0表示第一块硬盘,1表示第二块,以此类推
    #Partition2表示第二个分区,7表示第七个分区,以此类推
    #需要注意硬盘从0开始数,分区从1开始数
    #另外,扩展分区不算,也不分主分区和逻辑分区,也就是逻辑分区不是从5开始算
    #CoLinux设备号可以随意取,我为了方便取的和Linux下的设备号一致
    #可以发现设备号在Windows和Linux下是不一样的
    cobd2="\Device\Harddisk0\Partition2"
    cobd8="\Device\Harddisk0\Partition7"

    #将CoLinux设备绑定到原先的设备号上
    sda2=:cobd2
    sda8=:cobd8

    #指定root分区,用的是前面绑定的设备
    root=/dev/sda2

    #Linux启动参数,先设为单用户模式
    ro single

    #指定initrd,应该也是只能用CoLinux提供的
    initrd=initrd.gz

    #指定网络方式,先使用最简单的方式
    #这种方式只能从Linux访问Windows,如果要Windows访问Linux,需要做端口映射
    #为了使用ssh,把Linux的22端口映射到2222端口
    eth0=slirp,,tcp:2222:22

    嗯,关于分区的问题,给张示意图:

    partitions

    现在就可以尝试启动系统了。

    打开命令行,进入CoLinux的安装目录,执行命令:
    colinux-daemon.exe @Debian.conf

    好了,应该看到系统启动了吧?不过,fltk的界面真难看,现在可以把这个关掉(关掉这个,CoLinux并不会退出,只是这个界面程序关闭而已),双击colinux-console-nt.exe,就可以看到一个和Windows命令行一样的界面了。

    我们现在是在single模式下,用root密码进去看看,有没有什么不对的?

    用Putty连接localhost的2222端口,怎么样?ssh进去了吧?如果进不去,请检查Linux里面是不是装了sshd。

    现在,Linux已经可以启动了,但是如果我们把配置文件里面的single去掉,Linux启动的时候会启动很多图形相关的程序,然后报很多错误,怎么办?

    可以这样,设置一个特殊的runlevel,这个level只启动CoLinux下面能用的东西,把X window相关的东西统统关掉。然后指定CoLinux启动进入这个runlevel就好了。

    我用的是init level 4,据我所知的发行版里面,这个level都没有什么用处的,刚好给我们用了。

    把init level 4里面的相关服务关掉(怎么关?apt-get install sysv-rc-conf; sysv-rc-conf),然后用halt或者shutdown –h now关机。

    把上面配置文件里面的“ro single”改为
    ro 4

    再启动CoLinux就可以进入runlevel 4。

    现在,我们可以把CoLinux注册成服务了。先把CoLinux关掉,然后命令行:
    colinux-daemon.exe @Debian.conf --install-service CoLinux

    再然后
    net start CoLinux
    就可以将CoLinux作为Windows服务启动。

    我们也可以在Window服务管理界面将CoLinux设为开机自动启动,这样,我们的Linux就永远在Windows下可用了,而且占用资源极少!

    colinux

    嗯,上面这个图是我用tuntap网络时的截图,slirp也差不多就是了:)

    还有一些其他设置,放在以后说吧:

    网络设置,除了slirp方式外,CoLinux还有3种网络方式:tuntap,pcap-bridge和ndis-bridge

    配置Xming,让CoLinux下面的X程序在Windows下面显示

    展开全文
  • windowsLinux启动过程对比

    千次阅读 2014-04-19 18:02:05
    整个Linux启动如下图所示:

    不论是Linux还是windows的启动过程大致都遵循下列过程:

    而Linux和windows启动的分歧出现在MBR(主引导记录)之后,实际上也只是一些程序的名称或者细节不同而已,本质上还是一样的。

    第一阶段BIOS

    BIOS首先进行家电自检,也就是说为的POST。如果没有加电自检功能,那么BIOS基本没有存在的意义。因为系统的启动涉及到一个先有鸡还是先有蛋的问题。很明显磁盘驱动程序存放在硬盘上,而加载驱动的内核部分也存放在磁盘上。那么到底是先有磁盘驱动程序还是先有驱动加载程序呢?BIOS的出现解决了这个问题。因为BIOS的存储介质是ROM,所由于ROM的访问方式使得无需驱动就可以访问BIOS当中的程序。所以启动之初BIOS进行自检找到相应的设备,以便于下一步的访问。自检之后BIOS提供了一个设置BIOS的接口。如果不进行自定义设置的话,那么BIOS会根据POST自检获得的设备信息以及设置当中的启动顺序来搜索用于系统启动的驱动器。一般是以硬盘启动,所以接下来BIOS读取此硬盘的第一个扇区(也就是我们常说的MBR)。

    第二阶段MBR

    由于在磁盘上只有一个MBR,那么接下来MBR会将控制权转交给系统启动程序来引导系统启动。貌似遗忘了多系统选择菜单的存在,当系统存在多个系统启动项的时候,在MBR阶段会跳出一个相应的菜单选项供我们选择。那么这个多系统启动是怎么实现的呢?先看下图整个磁盘的分布如下,开头是MBR部分(总共512字节)然后是存放系统的主分区,而在每个系统的主分区下面都有一小块区间,用于系统的boot。这块区间被称为bootsector。所以在MBR当中可以将控制权转到bootsector,然后才启动系统。然而由于安装Linux的时候可以对是否写MBR进行设置,而windows的安装默认是写MBR,所以需要先安装windows再安装Linux。


    整个开机选项菜单的流程如下图所示:

    那么在这里就有一个问题,MBR只有可量的512字节,怎么能够存放开机选项菜单?由于现在的磁盘分区都足够大,所以导致MBR和第一个分区之间存在较大的空闲磁盘,而这一部分则被GRUB利用。当然这一部分并不存在开机选项。因为gurb的相应设置文件在Linux文件下面的/BOOT文件夹里面。但是MBR和第一个分区之间的空余空间可以用于建立一个较小的文件系统,这个文件系统可以用于辅助访问Linux系统下面的/BOOT文件夹。这样就实现了开机选项菜单的启动。也许有人有疑问为什么MBR不需要文件系统访问呢?因为MBR可以通过硬件直接访问,而硬件访问的限制是8GB。由于在BIOS当中只给CHS24位,而每一个扇区512字节的话,刚好就只能寻址8GB。有人可能有疑问,如果按照CPU的地址线进行读取磁盘不是32为地址线吗?其实因为到目前位置还没有进入到保护模式,所以32为地址线是可望而不可及。接下来是Linux和windows有差异的地方了。

    第三阶段Kernel启动:

    进入到上一步之后,GRUB通过Linux下面的/boot文件中的内核文件加载到内存中,就可以实现将控制转向内核了。内核文件是/boot文件夹下面的vmlinuz,然而有时候仅仅只有这个文件是不够的,因为我们还是不能通过文件系统找到驱动程序。所以还需要找到驱动程序,然后将这些驱动加载到内存当中。所以grub也将nitrd加载到内存里,让后者将其中的内容释放到内存中,内核便去执行initrd中的init脚本,这时内核将控制权交给了init文件处理。init脚本主要是加载各种存储介质相关的设备驱动程序。当所需的驱动程序加载完后,会创建一个根设备,然后将根文件系统rootfs以只读的方式挂载。到这一步结束才可以比较自由的访问文件系统当中的文件里。也正因为这样才可以执行/Sbin/init程序,并将控制权交给init程序。至于为什么需要线设置rootfs,因为设备具有依赖性,就好比如果想要访问A文件夹下面的文件B,你必须想找到文件夹A才能找到B一样。所以需要先找到根目录才能找到相应的子目录。

    控制权转到init之后,init程序首先会启动/etc/init文件夹当中的服务,然后根据/etc/inittab文件夹的设置,进行相应的服务启动以及系统初始化。系统首先调用/etc/rc.sysinit脚本文件对系统进行一些设置,然后会根据inittab文件当中获得的run level启动相应运行级别下面的服务。

    rc.sysinit脚本主要进行下面的设置:

    · 设置网络环境/etc/sysconfig/network,如主机名,网关,IP,DNS等。

    · 挂载/proc。

    · 根据内核在开机时的结果/proc/sys/kernel/modprobe开始进行周边设备的侦测。

    · 载入用户自定义的模块/etc/sysconfig/modules/*.modules

    · 读取/etc/sysctl。conf文件对内核进行设定。

    · 设定时间,终端字体,硬盘LVM或RAID功能,以fsck进行磁盘检测。

    · 将开机状况记录到/var/log/dmesg中。(可以用命令dmesg查看结果)

    到这里整个系统就跑起来了,但是还缺少一步才可以见到桌面,在这一步进行用户名和密码验证。

    一般而言,用户登陆包括三种方式。

    1.命令行登陆

    2.Ssh登陆

    3.图形界面登陆

    这三种情况存在相应的认证方式,并根据认证方式对shell环境进行配置。

    1.init进程调用getty程序用于用户输入用户名和密码,然后对密码进行核对(/etc/pam.d/login)。如果密码正确就根据/etc/passwd启动制定的shell

    2.有init调用sshd程序,然后运行/etc/pam.d/ssh进行认证,最后启动shell

    3.Init程序调用显示管理器,gnome图形管理器对应的显示管理器为gdm,然后进行认证,认证成功则读取/etc/gdm3/Xsession,启动用户会话。

    系统调用shell之后,会根据登陆方式读入一系列的配置文件。

    (1)命令行登录:首先读入 /etc/profile,这是对所有用户都有效的配置;然后依次寻找下面三个文件,这是针对当前用户的配置。

      ~/.bash_profile

      ~/.bash_login

      ~/.profile

    需要注意的是,这三个文件只要有一个存在,就不再读入后面的文件了。比如,要是 ~/.bash_profile 存在,就不会再读入后面两个文件了。

    (2)ssh登录:与第一种情况完全相同。

    (3)图形界面登录:只加载 /etc/profile 和 ~/.profile。也就是说,~/.bash_profile 不管有没有,都不会运行。

    用户进入操作系统以后,常常会再手动开启一个shell。这个shell就叫做 non-login shell,意思是它不同于登录时出现的那个shell,不读取/etc/profile和.profile等配置文件。non-login shell的重要性,不仅在于它是用户最常接触的那个shell,还在于它会读入用户自己的bash配置文件 ~/.bashrc。大多数时候,我们对于bash的定制,都是写在这个文件里面的。

    你也许会问,要是不进入 non-login shell,岂不是.bashrc就不会运行了,因此bash 也就不能完成定制了?事实上,Debian已经考虑到这个问题了,请打开文件 ~/.profile,可以看到下面的代码:

      if [ -n "$BASH_VERSION" ]; then

        if [ -f "$HOME/.bashrc" ]; then

          . "$HOME/.bashrc"

        fi

      fi

    上面代码先判断变量 $BASH_VERSION 是否有值,然后判断主目录下是否存在 .bashrc 文件,如果存在就运行该文件。第三行开头的那个点,是source命令的简写形式,表示运行某个文件,写成"source ~/.bashrc"也是可以的。

    因此,只要运行~/.profile文件,~/.bashrc文件就会连带运行。但是上一节的第一种情况提到过,如果存在~ /.bash_profile文件,那么有可能不会运行~/.profile文件。解决这个问题很简单,把下面代码写入.bash_profile就行 了。

      if [ -f ~/.profile ]; then

        . ~/.profile

      fi

    这样一来,不管是哪种情况,.bashrc都会执行,用户的设置可以放心地都写入这个文件了。

    Linux启动完毕,看到这里,不仅让人想起嵌入式当中的bootloader,从上面的整个分析可以看出来,bootloader其实就是BIOS和GRUB的简化。下面进行windows启动的分析

    windows启动过程,由于前面的BIOS和MBR和Linux类似,所以这里就不再重复,现在重新从MBR加载后开始分析。

    windows启动的时候,MBR扫描自身所保存的512字节当中的分区表,找到一个指示自己可以引导的分区,然后从这个分区当中的第一个扇区给读到内存当中,并且将这个控制权交给这个扇区代码。其实这里的原理和上面的grub很类似。通过硬件存储第一个扇区,只要这个扇区在BIOS可以访问的8G范围内就可以了。由于windows的安装会覆盖MBR,所以就很容易保证第一个可引导的分区中的第一个扇区在8G内。然而,windows在升级的时候,可以保存原来的系统用于多系统启动,这又是什么原因呢?因为windows安装的时候会保存原来的引导扇区的第一个分区,结合上面的GRUB分析,只要在windows进入内核之前加载了相应的文件系统,windows也可以通过启动菜单的方式进行启动。接下来windows的启动控制转到加载到内存的引导扇区,引导扇区内部包含相应的文件系统信息,这些信息可以用于找到相应的NTLDR,这个文件根据相应的boot.ini文件加载系统。而boot.ini文件类似于GRUB的启动菜单。

    到目前为止,系统还处于实模式下面。由于处理器的限制,使得系统只能访问1M内存。所以NTldr第一件事就是开启保护模式,这使得系统可以访问32位地址空间。不过开启了保护模式不代表存在虚拟地址到物理地址的映射,接下来NTLDR创建页表为开启分页机制做准备。不过跑到现在,貌似ntldr都在一个人孤独的裸奔。所以需要利用原来的BIOS和引导扇区的相应的代码加载一些驱动到内存当中。接下来ntldr读取boot.ini文件,根据这个文件选择相应的开机启动项。如果启动原来的系统,那么将会利用原来的引导扇区重新进行上面的启动。否则直接进行下一步。如果没有选择,那么将会启动默认的系统。然后调用ntdetect.com对BIOS获取的设备信息进行收集,并且保存到相应的注册表选项当中(HKLM\HARDWARE)。接下来是一个press F8界面,然后Ntldr进行相应的模块加载。

    1.Ntldr加载相应的内核和硬件抽象层(hal).

    2.读入系统的配置文件C:/windows/system32/Config/system,实际上就是注册表的system部分,是不是和Linux下面的/etc很像。

    3.根据加载到内存当中的HKLM/SYSTEM/CURRENTCONTROLSET/SERVICES键值下面的子键找到START_UP值为0的项,将这些服务的二进制文件找到,形成一个启动列表。然后根据相应的依赖关系加载驱动,当然磁盘文件系统肯定会优先被加载。

    4.设置相应的寄存器,以便于执行ntoskrnl。

    接下来是ntoskrnl的运行过程,nroskrnl获得的数据包括boot.ini当中相应的参数,以及上面的system和hardware注册表在内存当中的位置,还有加载的驱动列表。

    首先ntoskrnl的主要目的是创建运行的系统环境。首先,ntoskrnl会调用KisystemStartup,而在KiSystemStartup函数当中会为每一个CPU调用HalInitializeProcessor和KiInitializekernel函数。如果KiInitializeKernel运行在引导CPU上面,会执行全局的内核初始化,然后调用ExpIniializeExecutive哈数,这个函数用于初始化相应的控制部件。ExpInitializeExecutive函数首先调用HalInitSystem,这个函数用于初始化中断控制器,中断处理当然离不开上面的驱动列表的参与。运行到这里,基本整个系统都已近起来了。如果按照Linux的进度,接下来需要登陆了。然而,在windows下面还有一些其他的事情需要处理。首先是我们的注册表项。到目前为止仅仅之后两项,这个我们在regedit命令里面看到的不相符。所以,接下来需要将所有的注册表项给完善。也就是构造应用程序运行的配置环境。然后是进行子系统的初始化,很明显子系统可能会用到注册表项。这两项都是在一个叫做smss的进程当中执行,而smss则是由前面的对象管理器创建。smss在初始化之后就无限等待两个进程句柄。一个是csrss,另一个则是winlogon。windlogon激发SCM服务器,然后等待gina认证,gina会根据HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON\USERINIT中指定的一个或多个程序。这个注册表键值,类似于上面的三个部分的shell设置,然后会调用真正的shell。windows下面的shell就是有名的explorer.exe文件。

    经过之前的Linuxwindows启动过程分析,不难理解为什么在嵌入式当中需要BootLoader,而不是BIOSGRUB。其实是因为BootLoader集成了BIOSGRUB的功能。首先看下面的嵌入式Linux的软件结构与分布图。

    首先的Boot Parameter会单独列出一栏是因为BootLoder启动的时候并没有设置好堆栈,所以这些数据需要一个单独的地方给保存起来用于运行。所以设置堆栈是BootLoader的功能之一。那么为什么需要BootLoader呢,如果把内核的第一条指令放在0号位置不也同样可以启动内核的执行吗?(当嵌入式系统是NOR flash的时候可以不用将代码拷贝到内存当中就执行)其实在疑问当中就提出了BootLoader的第二个功能,如果系统是在NAND系统下面怎么启动?其实还有一个问题就是,如果没有BootLoader,那么内核程序怎么进行烧写?其实通过上面的疑问,我们已经可以知道BootLoader的应该实现哪一些功能了。然而,有人可能会问,这些功能都是可以集成到内核当中的啊。的确,BootLoader的代码都可以集成在kernel当中,然而这样的话就失去了灵活性。因为在计算机当中,每增加一层就可以屏蔽下层的差异。并且作为BootLoader的功能不需要常驻内存,这一点和kernel是不相同的,所以可以分离出来。另外Linux作为一个系统本身具有多平台的特性,而开发BootLoader已经超出了Linux项目的范畴。

    展开全文
  • 电脑环境:Windows 8.1 + CentOS 6.6 其中,Windows 8.1安装在C盘(/dev/sdb2),CentOS 6.6的/boot单独分区(/...双系统运行正常,重装Linux之后,不小心把BCD弄坏,只能启动Linux系统,没有Windows启动项。 解决方案
  • Linux启动、关闭x-window

    千次阅读 2016-05-13 09:12:05
    若需要关闭x-window可以在vi /etc/inittab将启动level改成3,若需要界面就改为5在已经没有界面的shell中要启动x-window,可以使用startx命令来启动这是因为Linux操作系统有六种不同的运行级(run level),在不同的...
  • Linux启动、关闭x-window

    万次阅读 2017-03-11 11:21:50
    0:停机(记住不要把initdefault 设置为0,因为这样会使Linux无法启动 ) 1:单用户模式 2:多用户,但是没有 NFS 。 3:完全多用户模式,标准的运行级。 4:一般不用,在一些特殊情况下可以用它来做一些事情。 ...
  • WSL的全称是Windows Subsystem for Linux Windows 10在开发者模式下可以使用linux子系统,这个子系统需要在Microsoft Store中下载安装 如果你已经在 Windows 10 中使用多个 Linux环境,则可以在不同版本之间进行...
  • 如果你离不开Windows或者对Ubuntu还不够熟悉的话,建议使用Windows和Ubuntu共存的双系统方案,先安装Windows,后安装Ubuntu,Ubuntu会自动建立一个启动菜单,让你在开机时选择启动Windows还是Ubuntu。 建议你至少给...
  • sudo dd if=/home/peter/Downloads/WindowsTechnicalPreview-x64-ZH-CN.iso of=/dev/sdb1 bs=4M iflag=direct​ 看到了吧,我在安装win10 6. 现在还不可以从usb盘启动,还要在usb盘MBR区信息写入,这需要一个...
  • linux开机启动顺序

    千次阅读 2019-03-05 17:02:12
    文章目录linux的开机启动顺序概述BIOS: basic input output system 基本输入输出系统MBR: master boot record 主引导记录.主引导程序总结第一个程序: init运行等级System V initialization方式Upstart方式Ubuntu自动...
  • 本文介绍RHEL系列(Centos/Fedora)下制作Fat32格式的windows10启动盘。   本囧是刚刚如坑几个月的linux小白,第一次写文章,请诸位多多指教:)    最近搜索相关教程,发现大多是ubuntu下或者是格式化为ntfs...
  • Windowsx-win管理Linux

    千次阅读 2007-11-08 15:43:00
    前期工作: 前面已经讲到了安装Linux系统及加载相应的软件包,参考地址如下: Linux下oracle 9i图文安装一 (http://waringid.blog.51cto.com/65148/47655), Linux下oracle 9i图文安装二 ...Linux下orac
  • windows启动linux服务器的图形界面

    千次阅读 2014-05-13 21:49:21
    1.linux服务器安装好x window。命令: yum grouplist "X Window System
  • 安装之后,运行Xming.exe,然后系统托盘右下角就会出现一个X的图标,这时就Xwindows-XServer就在windows启动了 3. putty.exe ==> Connection/SSH/X11 ==> X11 forwarding/Enable打勾即可,X dispaly locat
  • linux下的引导方式就比较多了,从早期的lilo、grub到grub2、burg等等,以及Livecd的isolinux,及习惯了的syslinux。mac os x(x86),可以有darwin、chameleon等等。win上面的话就是bootmgr及ntldr了。 先从win上的...
  • UEFI LinuxWindows双系统,丢失Windows的efi文件导致找不到启动项,导致无法进入Windows系统 状况说明 状况是这样的:我本来好好的装着LinuxWindows的双系统(还是先装的Linux后装的Windows,想想自己真能折腾...
  • Linux开机启动图片修改

    千次阅读 2015-06-19 16:12:27
    Linux启动时会在屏幕上显示一个默认的开机图片,我们可以修改成为自己的图片,需要做以下工作软件gimp下载地址:http://www.rayfile.com/zh-cn/files/0bb556bd-c5a0-11e0-9185-0015c55db73d/1、打开gimp号称 linux ...
  • Linux开机启动流程分析

    千次阅读 2016-11-25 15:00:46
    Linux开机启动十步骤 收藏分享2012-2-6 11:15| 发布者: 红黑魂| 查看数: 1366| 评论数: 0|来自: 比特网 摘要: 开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX...
  • 修改Linux默认启动级别或模式

    千次阅读 2012-09-11 16:26:10
    Linux中有7种启动级别,默认是X-Window,像是Windows的窗口模式,而Linux的操作和配置一般我们都采用输入命令的方式来完成,像DOS操作系统一样,如何让Linux启动就进入这种模式呢?  以管理员身份进入Linux,...
  • 想了解一下Kali Linux,于是在自己的Windows 10 X64 1607版本电脑上安装了Vmware Workstation 12.5,然后下载了Kali Linux 2016.2 i386镜像。 在Vmware Workstation中新建一个虚拟机,Linux版本选的是Debian 8.X。...
  • Linux:命令行模式返回XWindows模式

    千次阅读 2014-03-31 17:42:17
    好久没有玩Xwindows了,竟然对一些命令忘记了。再熟悉一下!在X windows下按下[Ctrl]+[Alt]+[Backspace]可以重启X。...[Ctrl]+[Alt]+[F7]:返回图形界面[root@server ~]#startx 启动X windows在/etc/ini
  • Linux系统启动流程及系统裁剪

    万次阅读 多人点赞 2016-12-02 19:17:17
    Linux系统启动流程,Linux系统裁剪
  • 这些天看鸟哥的教程,开始在渣机上安装Linux,到centOS上下载最新的distribution,由于手头没有带刻录的光驱,还有懒得买DVD盘,想到制作U盘启动盘。内事问百度,找到了一个网友的教程...
  • linux 启动过程

    千次阅读 2009-06-02 16:38:00
    Linux 启动过程详解 下面来详细了解一下 Linux启动过程。 Linux启动过程包含了 Linux 工作原理... 用户开机启动 Linux 过程总体上是这样的: 首先当用户打开 PC 的电源时,CPU 将自动进入实模式,并从地址 0xFFF
  • Linux开机启动顺序小结

    万次阅读 2012-04-21 20:45:06
    Linux开机启动十步骤 收藏分享2012-2-6 11:15| 发布者: 红黑魂| 查看数: 1366| 评论数: 0|来自: 比特网 摘要: 开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析...
  • Linux快速启动应用程序

    万次阅读 2016-11-07 22:37:15
    刚从windowslinux系统,一般都需要通过图形界面过渡一下。随着安装的软件增多,尤其是一些编程用的IDE,比如JB家的软件,每次都要cd xx/xx/xx/bin,然后再运行脚本,所以觉得十分麻烦。所以就想想能不能不要那么...
  • Linux启动solr

    千次阅读 2018-04-05 16:54:57
    1.1. Solr的环境Solr是java开发。需要安装jdk。安装环境Linux。需要安装Tomcat。1.2. 搭建步骤第一步:把solr 的压缩包上传到Linux系统第二步...启动Tomcat解压。第六步:把/root/solr-4.10.3/example/lib/ext目录下...
  • linux mount windows

    千次阅读 2011-02-17 14:05:00
    我习惯在windows下用source insight浏览代码,然后在linux下进行编译,但是修改的问题如何从linux能使用是个问题。 之前总是用ftp传过去,但是修改频繁了用起来还是很麻烦的。后来突然从网上找到了一个...
  • Linux启动流程

    千次阅读 2015-11-23 17:12:46
    探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。 在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面 正文 第一步...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 212,473
精华内容 84,989
关键字:

linuxwindows启动x

linux 订阅