centos没有efi,centos安装就出现boot
大家好,感谢邀请,今天来为大家分享一下centos没有efi的问题,以及和centos安装就出现boot的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
安装centOS7 无法为boot/efi分区
安装centOS7无法为boot/efi分区的原因是BIOS设置问题,解决方法如下:
准备材料:BIOS
1、启动机器时,按下 F12,进入 BIOS。
2、进入BIOS设置界面后,按左右方向键←→,选择【启动】。
3、再按上下方向键↑↓,选择【Boot Mode】。
4、回车,进入设置子项,默认值一般是“自动”。
5、通过上下键选择“Legacy”,然后回车。
6、回车关闭了设置框,回到主界面,这时按下 F10。
7、在弹出的对话框中,选择“是",然后回车,电脑重启,再次安装就不会遇到 boot/efi未分配空间的问题。
efi文件生成器有哪些
efi文件生成器?
efi文件生成器OC.Gen-X是一款主要由Pavo-IMPavo开发的小工具,用于一键生成适用于OpenCore的EFI引导文件夹(各项设置基于Dortania的OpenCore安装指南)。
不过该app需要macOS环境才能运行,没有的用户可以先使用虚拟机安装macOS(macOS10.15即可),配置好EFI文件夹后可以通过刻录镜像的方式安装macOS。
怎么生成条码怎么制作条码?
在生活中常常会用到条码,大家知道它是怎么制作的吗?下面给大家介绍条码的制作方法,希望帮到大家。
工具/原料
电脑
浏览器
方法/步骤
1、首先打开浏览器,在搜索栏中输入条码生成器,然后单击回车键。
2、在打开的搜索结果中找到条码制作工具,然后打开。
3、在打开的网面中滚动鼠标中键然后找到配置以下内容。
4、设置条形码的参数,然后在输入条形码号中输入123456789,点击生成。
5、矩形条码做好了。
jdk配置是什么?
jdk是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。
jdk是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
jdk配置:
1.安装
从sun公司网站www.sun.com下载linux版本的jdk
打开终端,用cd命令进入jdk所在目录,执行复制命令
sudocpjdk-6u7-linux-i586.bin/usr
即将jdk复制到/usr目录下
然后进入/usr目录
cd/usr
执行权限
chmod+xjdk-6u7-linux-i586.bin
执行安装命令
./jdk-6u21-linux-i586.bin
(文件名)
如遇错误,可先切换至root用户下,suroot,再执行安装命令
安装成功会在/usr目录下生成jdk1.6.0_07目录,就是jdk的安装目录
重启电脑,打开终端,输入java-version
如若有显示java的版本信息,则表示安装成功,
2.配置
安装成功后需要配置jdk环境变量
用cd命令进入/etc目录
sudoviprofile
即执行编辑profile文件命令
在umask022前添加如下内容:
exportJAVA_HOME=/usr/jdk1.6.0_21
exportJRE_HOME=/usr/jdk1.6.0_21/jre
exportPATH=$PATH:/usr/jdk1.6.0_21/bin
exportCLASSPATH=./:/usr/jdk1.6.0_21/lib:/usr/jdk1.6.0_21/jre/lib
保存退出,重启电脑
3.测试
新建Test.java
publicclassTest{
publicstaticvoidmain(Stringargs){
System.out.println(Hello,WelcometoLinuxWorld!);
}
}
在终端用cd命令进入Test.java目录,然后输入
javacTest.java
javaTest
若输出
Hello,WelcometoLinuxWorld!
则表明配置成功!
如不能通过编译,可通过重新启动系统试试
4.注意
在用vi命令编辑profile文件时,Linux初学者可能还不熟用
sudoviprofile进入编辑文件后如出现
PressENTERortypecommandtocontinue
则按回车
然后按方向键“下”直到umask022前一行
按字母o进入编辑状态
输入环境变量内容
回车,按几次ESC键,直到听到嘀声,输入
😡
回车
即保存退出
至此,Linuxjdk环境变量配置完成
如果安装完成时候在终端输入:java-version不显示当前的安装版本的话
则需要卸载原先的版本即可。
yum-yremovejava版本>>
例如:centos版本
#yum-yremovejava-1.4.2-gcj-compat卸载它。
#chmod700jdk-1_5_0_13-linux-i586.bin
#./jdk-1_5_0_13-linux-i586.bin
#mvjdk1.5.0_13//usr/local/
为了方便以后升级,建立软链接
#ln-s/usr/local/jdk1.5.0_13//usr/local/jdk
定义环境变量
#vi/etc/profile
exportJAVA_HOME=/usr/local/jdk
exportPATH=$PATH:$JAVA_HOME/bin
exportCLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
ok,至此java环境配置完毕
常用基本工具
Javac:Java源程序编译器,将Java源代码转换成字节码。
Java:Java解释器,直接从字节码文件,又称为类文件。执行Java应用程序的字节代码。
appletviewer.exeJavaapplet浏览器:appletviewer命令可在脱离万维网浏览器环境的情况下运applet。
jar:java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。
Javadoc:JavaAPI文档生成器从Java源程序代码注释中提取文档,生成API文档HTML页。
jdb:Java调试器(debugger),可以逐行执行程序.设置断点和检查变Md。
jps:查看Java虚拟机进程列表。
在VisualfoxPro中,怎样配置系统生成应用程序前的语句?
使用VisualFoxPro创建面向对象的事件驱动应用程序时,可以每次只建立一部分模块。这种模块化构造应用程序的方法可以使您在每完成一个组件后,就对其进行检验。在完成了所有的功能组件之后,就可以进行应用程序的编译了。
为了快速建立一个应用程序及其项目,即一个具有完整“应用程序框架”的项目,可以使用“应用程序向导”。在项目建立之后,此版本新增加的“应用程序生成器”就打开了,您可以使用它添加数据库、表、报表和表单。
一般来讲,应用程序的建立需要以下步骤:
构造应用程序框架
将文件添加到项目中
连编应用程序
在建立应用程序时,需要考虑如下的任务:
设置应用程序的起始点。
初始化环境。
显示初始的用户界面。
控制事件循环。
退出应用程序时,恢复原始的开发环境。
设置起始点
将各个组件链接在一起,然后使用主文件为应用程序设置一个起始点。主文件作为应用程序执行的起始点,可以包含一个程序或者表单。当用户运行应用程序时,VisualFoxPro将为应用程序启动主文件,然后主文件再依次调用所需要的应用程序其他组件。所有应用程序必须包含一个主文件。一般来讲,最好的方法是为应用程序建立一个主程序。但是,使用一个表单作为主程序,可以将主程序的功能和初始的用户界面集成在一起。
如果使用应用程序向导建立应用程序,可让向导替您建立一个主文件程序。您无须自己专门来做,除非在向导完成之后,自己想改变主文件。
初始化环境
主文件或者主应用程序对象必须做的第一件事情就是对应用程序的环境进行初始化。在打开VisualFoxPro时,默认的VisualFoxPro开发环境将建立SET命令和系统变量的值。但是,对应用程序来说,这些值并非最合适。
提示如果要查看VisualFoxPro开发环境的默认值,在没有配置文件的情况下键入VFP-C命令启动VisualFoxPro,再执行DISPLAYSTATUS命令。
对于您的应用程序来说,初始化环境的理想方法是将初始的环境设置保存起来,在启动代码中为程序建立特定的环境设置。
显示初始的用户界面
初始的用户界面可以是个菜单,也可以是一个表单或其他的用户组件。通常,在显示已打开的菜单或表单之前,应用程序会出现一个启动屏幕或注册对话框。
在主程序中,可以使用DO命令运行一个菜单,或者使用DOFORM命令运行一个表单以初始化用户界面。
若要连编一个应用程序
在“项目管理器”中,选择“连编”按钮。
在“连编选项”对话框中,选择“连编应用程序”,生成.app文件;或者“连编可执行文件”以建立一个.exe文件。
选择所需的其他选项并选择“确定”按钮。
客户机时间和服务器时间时间有什么区别?
并不是超过一定时差就不能同步。而是作为一个选项,客户端可以配置的。例如Meinberg的ntp配置文件生成器:Allowinitialbigtimestep(>>1000seconds)为什么要设置这么一个时间?如果差距过大,可能是某一端的时间是故意手工设置用于调试,或是某一端时钟出了故障,自动纠正可能会造成业务风险,还是以手工检查为妥。
启动盘安装centos
启动盘安装centos(启动盘安装centos7)刚买的thinkpad t430u 64位的笔记本,发现装Linux是一件非常麻烦的事,以前装个linux系统,配置双启,1个小时就能搞定,而这一次我连装centos6.4带配置双启,花了三个星期。双启后成功后又装了Arch,现在笔记本是三系统,三周的时间里,笔记本重启不下300次。我也不知道能不能成功,所以事先,并没有做详细的笔记电脑。所以下面,只是大致的记录。
关闭secure boot
开机按F1进入bios=>security=>secure boot
笔记本不同,可能secure boot的配置不同,将其disabled掉,要不然,选择U盘启动,光盘启动都无效,报没有权限。
bios里面配置启动项,默认efi only,改为both
bios=>startup=>uefi/legacy boot
启动优先级里面有三个选择,
1,efi only(注释:默认)
2,both(注释:二种方式都可以)
3,legacy only(注释:grub1)
这里说的启动根选择U盘启动,光盘启动不一样。这里的启动是,多系统安装好了,而选择的启动模式。而U盘启动,电脑光盘启动这种情况是系统还没有装时选择的安装启动。我的本子,按F12可以选择U盘启动,或者光盘启动。
为什么要进行这一步,如果不改,默认是装在第二块硬盘上面的,也就是efi的默认启动盘,安装CentOS时:
win8装centos
根本没有“更换设置”这个按钮,并且引导程序只能安装在/dev/sda2上面,选中的情况下,centos6.4 64位,根本安装不成功,所有包安装完后,配置时提示报错,
an unhandled exception has occurred.this is most likely a bug.plese copy the full text of this exeception and file a detailed bug report.against anaconda at
让提交bug到centos,这个有点坑爹。
将efi only改成both后,重新安装,“更换设置”就会出现,并把引导程序装到centos所在的分区,这样centos可以顺利装完,怎么安装网上太多,在这儿就不哆嗦了。
用easybcd和纯grub1实现双启都不可能
用easybcd和纯grub1实现双启根本不可能,大家就不要浪费时间了。网上有说easybcd2.2可以实现,我试过无数次不行。
在启动优先级里面选择,legacy only,保存重启,久违的centos界面出现了,那叫一个激动。下方向键选择others,windows进不去。总之还是有点高兴的,centos装成功了,我信心大增,通过grub1,我想能启动win8,然后我就开始尝试用grub1启动win8,又试了不知道多少次不行。我想完全靠grub1启动是不可能了
用centos自带的efi实现双启
1,启动优先级里面,选择legacy only,进入到centos
2,下载三个文件,BOOTX64.conf BOOTX64.efi splash.xpm.gz
或者是从iso镜像中解压也行。
3,挂载efi的启动盘
mkdir/mnt/usb
mount/dev/sda2/mnt/usb
cd/mnt/usb
mkdir image
cp/boot/initramfs-2.6.32-358.el6.x86_64.img./image/initrd.img
cp/boot/vmlinuz-2.6.32-358.el6.x86_64./image/vmlinuz
在efi启动盘的根目录也就是/dev/sda2上面,建一个image文件夹,把装好的cenots内核考过来,我为什么要这么干呢,因为BOOTX64.conf这个文件就是这么干的。
[root@localhost image]# ll/mnt/usb/image/
总用量 26812
-rwxr-xr-x. 1 root root 16532286 6月 1 18:11 initrd.img
-rwxr-xr-x. 1 root root 3089184 6月 1 19:11 initrd.img-arch//这是arch的,装了三系统
-rwxr-xr-x. 1 root root 4043888 6月 1 18:10 vmlinuz
-rwxr-xr-x. 1 root root 3778496 6月 1 19:10 vmlinuz-arch//这也是arch的,
4,这一步建redhat目录是多余的,我是按照操作时候的步骤来写这篇博客的
[root@localhost EFI]# mkdir/mnt/usb/EFI/redhat
为什么要redhat,而不是centos呢,装好的centos,/boot/efi/EFI(注:这个目录在系统的boot下面,不在sda2上面),这个目录下就有redhat,后来我才知道,这个目录没用。
将上面的三个文件BOOTX64.conf BOOTX64.efi splash.xpm.gz,copy到/mnt/usb/EFI/redhat目录下面
看一下我的配置:
[root@localhost redhat]# cat BOOTX64.conf
#debug--graphics
default=1
#splashimage=/EFI/BOOT/splash.xpm.gz
timeout=5
#hiddenmenu
title CentOS 6.4
kernel/image/vmlinuz ro root=/dev/sda7
initrd/image/initrd.img
title Windows8
chainloader/EFI/Microsoft/Boot/win8.efi
title Archlinux
kernel/image/vmlinuz-arch ro root=/dev/sda9
initrd/image/initrd.img-arch
上面的win8.efi是bootmgfw.efi的备份,后来我把bootmgfw.efi也替换了,下面会提到的,这东西启动win8用的。
重启测试
重启F1,进bios,把启动优先级设为efi only,保存重起进grub
grub> configfile/efi/redhat/BOOTX64.conf
注意:grub下面是小定的,linux系统下是大写的,最好是用tab键提示。然后三个启动选项就出现了,我选了一下,都是可以进的,那叫一个激动啊,离成功不远了。
grub> chainloader/efi/Microsoft/Boot/win8.efi
win8也是可以进的
只要启动时能让EFI识别BOOTX64.conf这个文件,并读取,就搞这定了。
然后我就开始把redhat这个目录到处copy,发现不行,我又把BOOTX64.conf BOOTX64.efi splash.xpm.gz,这三个文件到处copy,EFI下面的每个目录我都试了。不行。
refind efi启动器
没办法啊,就上google上面找efi启动工具,看了好多,发现The rEFInd Boot Manager还是比较靠谱的。
下载地址:,这个是二进制版的。
该工具官方地址:,下载,安装,以及使用说明都有。
安装配置地址:
下面是我的操作:
cp-r refind/mnt/usb/EFI/
cd/mnt/usb/EFI/refind
rm-rf drivers_ia32
rm-f refind_ia32.efi
rm-rf tools_ia32
[root@localhost boot]# ll/mnt/usb/EFI/refind///删除后就是这样子
总用量 224
drwxr-xr-x. 2 root root 4096 6月 1 17:52 drivers_x64
drwxr-xr-x. 2 root root 8192 6月 1 17:52 icons
-rwxr-xr-x. 1 root root 17774 6月 1 20:55 refind.conf
-rwxr-xr-x. 1 root root 17911 6月 1 17:52 refind.conf-sample
-rwxr-xr-x. 1 root root 170824 6月 1 17:52 refind_x64.efi
drwxr-xr-x. 2 root root 4096 6月 1 17:52 tools_x64
如果你是64的系统,就把32的删除掉,反之就删64的。
mv refind.conf-sample refind.conf
然后配置refind.conf,我的配置肯定不对,如果要对的话,直接是可以用refind进入centos,win8,arch的。而不是refind去调用grub来启动
中的Installing rEFInd Manually Using Linux,安装方法中,6,7这二步,没敢做,我实在无法预测,efibootmgr-c-l\EFI\refind\refind_x64.efi-L rEFInd,执行这个命令到底会有什么后果。
重启后,无法进入refind界面
然后就在仔细阅读文件
rename EFI/BOOT/refind_x64.efi to the name of the boot loader it's replacing—it should become EFI/BOOT/bootx64.efi or EFI/Microsoft/Boot/bootmgfw.efi.
发现有上面的东西,操作如下:
[root@localhost EFI]# cp-r./Microsoft/Boot/./Microsoft/Boot_bak
[root@localhost EFI]# cp-r./refind/*./Microsoft/Boot/
[root@localhost EFI]# cd./Microsoft/Boot/
[root@localhost Boot]# cp bootmgfw.efi win8.efi//上面提到的win8.efi就是在这儿来的
[root@localhost Boot]# mv refind_x64.efi bootmgfw.efi
先把EFI/Microsoft/Boot/这个目录备份,这样我不管怎么配置Boot的目录,我可以还原,进WIN8绝对没问题。efi启动,会默认读取/EFI/Microsoft/Boot/bootmgfw.efi,我的机子是这样子的,规定死了。
重启后,可以进入refind的引导界面,但是没有一个系统能进
refind配置不正确,无法进入任何一个系统,但是我发现refind的第二个引导项读取到了/grub/BOOTX64.conf,并且是默认的centos的BOOTX64.conf,grub是什么时候建的我都忘了,里面是下载的原始的centos的BOOTX64.conf BOOTX64.efi splash.xpm.gz
[root@localhost refind]# cp/mnt/usb/EFI/redhat/*/mnt/usb/EFI/grub
[root@localhost refind]# cd/mnt/usb/EFI/Microsoft/Boot/
[root@localhost Boot]# vim refind.conf
timeout 2
default_selection 2//将第二引导项调为默认
知道refind读取哪个启动文件就好办了,把redhat下面已经配置好的文件copy到grub目录下就搞定了。
就这样我的三系统启动搞定了,不过还有缺点,
第一,引导是分二步的,首先是refind引导,然后refind调用BOOTX64.conf,在通过grub来引导,之后才能进入系统。
第二,内核版本,是copy到了,efi的启动盘上面,升级内核,也用不了,除非在重新将内核copy到sda2上面。