全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: Vicer

[Linux Shell]【修复已知问题】Debian网络安装一键脚本

[复制链接]
 楼主| 发表于 2017-3-25 02:38:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-3-25 02:47:20 | 显示全部楼层
Vicer 发表于 2017-3-25 02:38
你看你机子里,是不是没有awk?
Debian 上是这样安装的

有 awk,但是读的位置不一样。

完整的 grub.cfg 如下


  1. #
  2. # DO NOT EDIT THIS FILE
  3. #
  4. # It is automatically generated by grub-mkconfig using templates
  5. # from /etc/grub.d and settings from /etc/default/grub
  6. #

  7. ### BEGIN /etc/grub.d/00_header ###
  8. if [ -s $prefix/grubenv ]; then
  9.   set have_grubenv=true
  10.   load_env
  11. fi
  12. if [ "${next_entry}" ] ; then
  13.    set default="${next_entry}"
  14.    set next_entry=
  15.    save_env next_entry
  16.    set boot_once=true
  17. else
  18.    set default="0"
  19. fi

  20. if [ x"${feature_menuentry_id}" = xy ]; then
  21.   menuentry_id_option="--id"
  22. else
  23.   menuentry_id_option=""
  24. fi

  25. export menuentry_id_option

  26. if [ "${prev_saved_entry}" ]; then
  27.   set saved_entry="${prev_saved_entry}"
  28.   save_env saved_entry
  29.   set prev_saved_entry=
  30.   save_env prev_saved_entry
  31.   set boot_once=true
  32. fi

  33. function savedefault {
  34.   if [ -z "${boot_once}" ]; then
  35.     saved_entry="${chosen}"
  36.     save_env saved_entry
  37.   fi
  38. }
  39. function load_video {
  40.   if [ x$feature_all_video_module = xy ]; then
  41.     insmod all_video
  42.   else
  43.     insmod efi_gop
  44.     insmod efi_uga
  45.     insmod ieee1275_fb
  46.     insmod vbe
  47.     insmod vga
  48.     insmod video_bochs
  49.     insmod video_cirrus
  50.   fi
  51. }

  52. if [ x$feature_default_font_path = xy ] ; then
  53.    font=unicode
  54. else
  55. insmod part_msdos
  56. insmod ext2
  57. if [ x$feature_platform_search_hint = xy ]; then
  58.   search --no-floppy --fs-uuid --set=root  8e7a31a0-dcaf-4581-a84f-33f08d289e43
  59. else
  60.   search --no-floppy --fs-uuid --set=root 8e7a31a0-dcaf-4581-a84f-33f08d289e43
  61. fi
  62.     font="/usr/share/grub/unicode.pf2"
  63. fi

  64. if loadfont $font ; then
  65.   set gfxmode=auto
  66.   load_video
  67.   insmod gfxterm
  68. fi
  69. terminal_output gfxterm
  70. if [ "${recordfail}" = 1 ] ; then
  71.   set timeout=-1
  72. else
  73.   if [ x$feature_timeout_style = xy ] ; then
  74.     set timeout_style=menu
  75.     set timeout=5
  76.   # Fallback normal timeout code in case the timeout_style feature is
  77.   # unavailable.
  78.   else
  79.     set timeout=5
  80.   fi
  81. fi
  82. ### END /etc/grub.d/00_header ###

  83. ### BEGIN /etc/grub.d/05_debian_theme ###
  84. set menu_color_normal=cyan/blue
  85. set menu_color_highlight=white/blue
  86. ### END /etc/grub.d/05_debian_theme ###

  87. ### BEGIN /etc/grub.d/10_linux ###
  88. function gfxmode {
  89.         set gfxpayload="${1}"
  90. }
  91. set linux_gfx_mode=
  92. export linux_gfx_mode
  93. menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8e7a31a0-dcaf-4581-a84f-33f08d289e43' {
  94.         load_video
  95.         insmod gzio
  96.         if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
  97.         insmod part_msdos
  98.         insmod ext2
  99.         if [ x$feature_platform_search_hint = xy ]; then
  100.           search --no-floppy --fs-uuid --set=root  8e7a31a0-dcaf-4581-a84f-33f08d289e43
  101.         else
  102.           search --no-floppy --fs-uuid --set=root 8e7a31a0-dcaf-4581-a84f-33f08d289e43
  103.         fi
  104.         echo        'Loading Linux 3.16.0-4-amd64 ...'
  105.         linux        /boot/vmlinuz-3.16.0-4-amd64 root=UUID=8e7a31a0-dcaf-4581-a84f-33f08d289e43 ro consoleblank=0 quiet
  106.         echo        'Loading initial ramdisk ...'
  107.         initrd        /boot/initrd.img-3.16.0-4-amd64
  108. }
  109. submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-8e7a31a0-dcaf-4581-a84f-33f08d289e43' {
  110.         menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-advanced-8e7a31a0-dcaf-4581-a84f-33f08d289e43' {
  111.                 load_video
  112.                 insmod gzio
  113.                 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
  114.                 insmod part_msdos
  115.                 insmod ext2
  116.                 if [ x$feature_platform_search_hint = xy ]; then
  117.                   search --no-floppy --fs-uuid --set=root  8e7a31a0-dcaf-4581-a84f-33f08d289e43
  118.                 else
  119.                   search --no-floppy --fs-uuid --set=root 8e7a31a0-dcaf-4581-a84f-33f08d289e43
  120.                 fi
  121.                 echo        'Loading Linux 3.16.0-4-amd64 ...'
  122.                 linux        /boot/vmlinuz-3.16.0-4-amd64 root=UUID=8e7a31a0-dcaf-4581-a84f-33f08d289e43 ro consoleblank=0 quiet
  123.                 echo        'Loading initial ramdisk ...'
  124.                 initrd        /boot/initrd.img-3.16.0-4-amd64
  125.         }
  126.         menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-recovery-8e7a31a0-dcaf-4581-a84f-33f08d289e43' {
  127.                 load_video
  128.                 insmod gzio
  129.                 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
  130.                 insmod part_msdos
  131.                 insmod ext2
  132.                 if [ x$feature_platform_search_hint = xy ]; then
  133.                   search --no-floppy --fs-uuid --set=root  8e7a31a0-dcaf-4581-a84f-33f08d289e43
  134.                 else
  135.                   search --no-floppy --fs-uuid --set=root 8e7a31a0-dcaf-4581-a84f-33f08d289e43
  136.                 fi
  137.                 echo        'Loading Linux 3.16.0-4-amd64 ...'
  138.                 linux        /boot/vmlinuz-3.16.0-4-amd64 root=UUID=8e7a31a0-dcaf-4581-a84f-33f08d289e43 ro single consoleblank=0
  139.                 echo        'Loading initial ramdisk ...'
  140.                 initrd        /boot/initrd.img-3.16.0-4-amd64
  141.         }
  142. }

  143. ### END /etc/grub.d/10_linux ###

  144. ### BEGIN /etc/grub.d/20_linux_xen ###

  145. ### END /etc/grub.d/20_linux_xen ###

  146. ### BEGIN /etc/grub.d/30_os-prober ###
  147. ### END /etc/grub.d/30_os-prober ###

  148. ### BEGIN /etc/grub.d/30_uefi-firmware ###
  149. ### END /etc/grub.d/30_uefi-firmware ###

  150. ### BEGIN /etc/grub.d/40_custom ###
  151. # This file provides an easy way to add custom menu entries.  Simply type the
  152. # menu entries you want to add after this comment.  Be careful not to change
  153. # the 'exec tail' line above.
  154. ### END /etc/grub.d/40_custom ###

  155. ### BEGIN /etc/grub.d/41_custom ###
  156. if [ -f  ${config_directory}/custom.cfg ]; then
  157.   source ${config_directory}/custom.cfg
  158. elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  159.   source $prefix/custom.cfg;
  160. fi
  161. ### END /etc/grub.d/41_custom ###
复制代码


实际读到的位置却是:


  1.         menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-recovery-8e7a31a0-dcaf-4581-a84f-33f08d289e43' {
  2.                 load_video
  3.                 insmod gzio
  4.                 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
  5.                 insmod part_msdos
  6.                 insmod ext2
  7.                 if [ x$feature_platform_search_hint = xy ]; then
  8.                   search --no-floppy --fs-uuid --set=root  8e7a31a0-dcaf-4581-a84f-33f08d289e43
  9.                 else
  10.                   search --no-floppy --fs-uuid --set=root 8e7a31a0-dcaf-4581-a84f-33f08d289e43
  11.                 fi
  12.                 echo        'Loading Linux 3.16.0-4-amd64 ...'
  13.                 linux        /boot/vmlinuz-3.16.0-4-amd64 root=UUID=8e7a31a0-dcaf-4581-a84f-33f08d289e43 ro single consoleblank=0
  14.                 echo        'Loading initial ramdisk ...'
  15.                 initrd        /boot/initrd.img-3.16.0-4-amd64
  16.         }
  17. }

  18. ### END /etc/grub.d/10_linux ###

  19. ### BEGIN /etc/grub.d/20_linux_xen ###

  20. ### END /etc/grub.d/20_linux_xen ###

  21. ### BEGIN /etc/grub.d/30_os-prober ###
  22. ### END /etc/grub.d/30_os-prober ###

  23. ### BEGIN /etc/grub.d/30_uefi-firmware ###
  24. ### END /etc/grub.d/30_uefi-firmware ###

  25. ### BEGIN /etc/grub.d/40_custom ###
  26. # This file provides an easy way to add custom menu entries.  Simply type the
  27. # menu entries you want to add after this comment.  Be careful not to change
  28. # the 'exec tail' line above.
  29. ### END /etc/grub.d/40_custom ###

  30. ### BEGIN /etc/grub.d/41_custom ###
  31. if [ -f  ${config_directory}/custom.cfg ]; then
  32.   source ${config_directory}/custom.cfg
  33. elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
复制代码


 楼主| 发表于 2017-3-25 02:52:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-3-25 02:55:41 | 显示全部楼层
Vicer 发表于 2017-3-25 02:52
谢谢提供反馈

今天有些晚了,明天起来解决这个问题

好呀好呀,另外这个好像不支持 RHEL 系列,因为 RHEL 用的是 Grub2,且分区为 XFS,开机读不到 linux 内核与 initrd.gz 闪存盘。
 楼主| 发表于 2017-3-25 02:57:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-3-25 02:58:07 | 显示全部楼层
Vicer 发表于 2017-3-25 02:57
你这个是Debian 还是Ubuntu?

Debian 8 amd64
 楼主| 发表于 2017-3-25 02:59:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-3-25 03:27:41 | 显示全部楼层
本帖最后由 尘封之泪 于 2017-3-25 03:37 编辑
Vicer 发表于 2017-3-25 02:59
OK !

我用Debian 8 做过测试的。。。。


恩,刚刚试了一下 CentOS 7 LVM 也可以用,只不过要手动改一下条目。



  1. menuentry 'Install OS [jessie amd64]' --class debian --class gnu-linux --class gnu --class os {
  2.         load_video
  3.         insmod gzio
  4.         insmod part_msdos
  5.         insmod xfs
  6.         set root='hd0,msdos1'
  7.         if [ x$feature_platform_search_hint = xy ]; then
  8.           search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  dc21f120-4b43-442b-b8d7-431a82630c08
  9.         else
  10.           search --no-floppy --fs-uuid --set=root dc21f120-4b43-442b-b8d7-431a82630c08
  11.         fi
  12.         linux16        /linux root=/dev/mapper/cl-root ro rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet
  13.         initrd16        /initrd.gz
  14. }
复制代码
 楼主| 发表于 2017-3-25 11:32:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-1-10 21:43 , Processed in 0.066511 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表