batocera吧 关注:20,064贴子:41,829

【实战】(BIOS引导)安**atocera和win7双启动

只看楼主收藏回复

刚接触batocera几天,感觉好玩。家里有台旧笔记本电脑,想安装安**atocera和win7双启动。上网学习摸索,折腾了几天终于装成功了。


IP属地:广东来自Android客户端1楼2019-12-07 02:52回复




    IP属地:广东来自Android客户端2楼2019-12-07 02:54
    回复
      一、用到的软件:
      准备一个容量8G以上的U盘,刷个PE系统,03PE即可,版本太高可能写入工具用不了。
      把以下软件(4.5.6都要用单文件版)复制到U盘里:
      1.batocera系统镜像img文件和写入工具,我用的是Batocera-plus-1.0-20191121.img,PE下只有IMG写入工具能用。
      2.Windows 7系统GHO镜像(个人喜好,其他格式的系统镜像均可,能被PE系统安装就行)。
      3.grub2模块包(先在其他电脑把grub2win安装以下,把C:\grub2里的全部目录都复制过来)。
      4.PartitionGuru(与DiskGenius一样)分区工具,4.9以上版本,低版本可能不支持进行ext4格式分区。
      5.bootice,用来硬盘备份和恢复MBR。
      6.UltraEdit文本编辑器,方便编辑linux格式配置文件。


      IP属地:广东来自Android客户端3楼2019-12-07 02:55
      回复
        二、开始,以下步骤都在PE下操作:
        1.用U盘启动到PE,运行IMG写入工具把batocera刷到硬盘(不要妄想在原系统上运行写入工具刷硬盘,自己刷自己?不行的),成功后硬盘的MBR已经写入grub2引导程序,并划分了一个fat32分区(卷标BATOCERA),重启一下PE,让以上操作完全生效。
        2.用PartitionGuru把剩余空间分两个区,前一个分区ext4格式,设置卷标SHARE;后一个分区NTFS格式并激活该分区,留给安装windows7使用。容量自定,顺序不要弄错。
        3.用bootice备份硬盘MBR,注意要选对盘符,备份时设定扇区数63,备份文件保存好。
        4.复制grub2里的全部目录到BATOCERA卷的/boot/grub/里。编辑grub.cfg内容为:
        set default="1"
        #默认启动Windows 7
        set timeout="10"
        #启动菜单10秒
        menuentry "batocera.linux" {
        linux /boot/linux label=BATOCERA console=tty3 quiet loglevel=0 vt.global_cursor_default=0
        initrd /boot/initrd.gz
        }
        menuentry 'Windows 7 (loader) (on /dev/sda3)' --class windows {
        insmod chain
        insmod ntfs
        set root='hd0,msdos3'
        #硬盘0,第3分区
        chainloader +1
        }
        某些参数可以根据实际情况调整
        5.把Windows 7 GHO恢复到第3分区,完成后拔出U盘,重启,看这时硬盘MBR是否已经破坏,是则插入U盘启动到PE,用bootice恢复硬盘MBR后,拔出U盘重启,让Windows 7完成最后的安装配置。完毕。


        IP属地:广东来自Android客户端4楼2019-12-07 02:56
        收起回复
          grub2下载好的模块包上传一下呗,我看看直接用好使不


          IP属地:山东来自iPhone客户端5楼2019-12-07 09:55
          收起回复
            以上方法是两个系统都全新安装,成功率高,按照步骤操作即可。


            IP属地:广东来自Android客户端7楼2019-12-10 09:13
            收起回复
              下面讲在已有win7系统上安装方法,因旧系统的安装情况不尽相同,仅供参考,但若能看懂原理,就能在遇到问题时解决。


              IP属地:广东来自Android客户端8楼2019-12-10 09:16
              回复
                自定制gr2ldr,用bootmgr的BCD菜单加载启动
                http://alpha.gnu.org/gnu/grub/下载grub2win包,我下的是grub-2.02~rc2-for-windows.zip,解压后,进入cmd,运行:
                F:\grub-2.02~rc2-for-windows>grub-mkimage.exe --output=core.img -c config.cfg --format=i386-pc --prefix=/boot/grub biosdisk part_msdos fat ntfs ext2 search_fs_file
                要先编辑好config.cfg文件,内容为:
                ###
                set cfgfile='/boot/grub/grub.cfg'
                search.file $cfgfile root
                set prefix=($root)/boot/grub
                ###
                保存为UTF8编码
                然后合并两个img文件生成gr2ldr(文件名也可以自定)
                F:\grub-2.02~rc2-for-windows>copy i386-pc\lnxboot.img+core.img gr2ldr


                IP属地:广东来自Android客户端9楼2019-12-10 09:23
                收起回复
                  把gr2ldr放到原系统任何目录,我是放C盘根目录。用bootice编辑BCD菜单,加入一条实模式启动项。


                  IP属地:广东来自Android客户端10楼2019-12-10 09:41
                  收起回复
                    把grub2.02包里的i386-pc目录复制到c:\boot\grub目录里,然后在此目录新建grub.cfg文件,内容为:
                    set default="0"
                    set timeout="0"
                    menuentry "Batocera.HD" {
                    ### USER CONFIG ###
                    set DISC=0
                    set PART=3
                    set DIR=/batocera
                    set FILE=Batocera-plus-1.0-20191121.img
                    ### IMPORTANT! NO CHANGE!
                    insmod ntfs
                    insmod ntfscomp
                    insmod test
                    if [ -f (hd$DISC,msdos$PART)$DIR/$FILE ]; then
                    loopback loop (hd$DISC,msdos$PART)$DIR/$FILE
                    EXEC="disc=$DISC part=$PART dir=$DIR file=$FILE"
                    linux (loop,msdos1)/boot/linux $EXEC console=tty3 quiet loglevel=0 vt.global_cursor_default=0
                    if [ -f (loop,msdos1)/batocera-hd-edition/batocera-hd-edition.gz ]; then
                    initrd (loop,msdos1)/batocera-hd-edition/batocera-hd-edition.gz
                    elif [ (hd$DISC,msdos$PART)$DIR/batocera-hd-edition.gz ]; then
                    initrd (hd$DISC,msdos$PART)$DIR/batocera-hd-edition.gz
                    fi
                    else
                    linux /boot/linux label=BATOCERA console=tty3 quiet loglevel=0 vt.global_cursor_default=0
                    initrd /boot/initrd.gz
                    fi
                    }
                    把batocera-hd-edition.gz和Batocera-plus-1.0-20191121.img复制到c:\beticera目录里。
                    完毕。


                    IP属地:广东来自Android客户端11楼2019-12-10 09:52
                    收起回复
                      不破坏原win7系统安装的另一个选择是将grub2引导文件写进MBR,然后用grub2的菜单引导双系统。要求硬盘上必须有一个fat格式分区,没的话也可以用分区工具在硬盘末端无损分一个出来。


                      IP属地:广东来自Android客户端12楼2019-12-11 15:21
                      回复
                        看晕了


                        IP属地:河南来自Android客户端13楼2019-12-12 19:45
                        收起回复
                          教程配多些详细图片就好了,小白看不太明白。


                          IP属地:广东来自Android客户端14楼2019-12-23 11:51
                          收起回复
                            这个好,正好才下好,拆腾一下,谢谢楼主分享


                            IP属地:江苏来自Android客户端15楼2019-12-23 14:04
                            回复
                              @小棋365 写教程有些麻烦,我还是放个懒人包吧。
                              适用于在传统BIOS平台的WINDOWS 7启动菜单增加一项运行batocera,不对原系统造成任何破坏。
                              说明:
                              启动到原WINDOWS 7,用到的工具软件已打包:
                              1、把压缩包解压到任意盘符的根目录下,所有文件均不要改名。
                              2、Batocera.img是个空文件,把下载的batocera系统img文件改为同名字,复制过来覆盖掉。
                              3、参照图片1-4,加一个启动菜单项。主要用到BOOTICE的BCD智能编辑,有时启动超时时间会更改不生效,就用高级编辑模式来更改。
                              4、要根据实际的分区来设定grub\grub.cfg文件的DISC和PART参数,通常WINDDOS 7安装在第一硬盘第一分区就不用修改。若放在其他分区,切记第一要用BOOTICE选择正确的启动磁盘和分区,第二要修改grub\grub.cfg文件。
                              /s/1Sy3zfq6ERjscPR0dHIy-_A
                              码:603r


                              IP属地:广东16楼2019-12-24 01:56
                              收起回复