温馨提示×

ubuntu minimal启动项设置

小樊
36
2025-12-28 05:03:51
栏目: 智能运维

Ubuntu Minimal 启动项设置指南

一 核心配置文件与生效方式

  • 关键文件:/etc/default/grub(不要直接编辑 /boot/grub/grub.cfg,该文件由脚本自动生成)。
  • 常用键位:
    • GRUB_DEFAULT:默认启动项,从0开始计数;设为 saved 可记住上次选择。
    • GRUB_TIMEOUT / GRUB_TIMEOUT_STYLE:菜单停留时间(秒)与是否隐藏菜单(如 menu 显示菜单、hidden 隐藏)。
    • GRUB_CMDLINE_LINUX_DEFAULT:默认内核启动参数(如 quiet splash)。
    • GRUB_CMDLINE_LINUX:追加到所有内核的内核参数。
    • GRUB_DISABLE_RECOVERY:是否禁用恢复模式菜单项(true/false)。
  • 使配置生效:修改后执行 sudo update-grub,会自动生成新的 /boot/grub/grub.cfg

二 常见启动项设置场景

  • 设置默认启动项与菜单停留
    • 例:默认进入第2项,菜单停留5
      • GRUB_DEFAULT=1
      • GRUB_TIMEOUT=5
      • GRUB_TIMEOUT_STYLE=menu
  • 无图形界面的最小化启动(服务器/CLI)
    • 例:进入多用户文本模式,隐藏图形界面
      • GRUB_CMDLINE_LINUX_DEFAULT=“systemd.unit=multi-user.target
      • 如需彻底不加载图形相关组件,可追加 nomodeset(视显卡而定)
  • 双系统默认启动 Windows
    • 方法A:临时记住上次选择
      • GRUB_DEFAULT=saved
      • 之后使用 sudo grub-set-default <序号> 设置默认,再用 sudo update-grub 生效
    • 方法B:直接指定菜单项序号(从0开始),修改后 sudo update-grub
  • 修改后统一生效
    • 执行:sudo update-grub(不要手改 /boot/grub/grub.cfg

三 开机自启动程序或服务

  • 推荐方式:使用 systemd 服务(适用于 Ubuntu 15.04 及以后)
    • 新建服务:/etc/systemd/system/myapp.service
      [Unit]
      Description=My Startup App
      After=network.target
      
      [Service]
      ExecStart=/usr/local/bin/myapp
      Restart=on-failure
      User=myuser
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用与启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable --now myapp.service
      • 查看状态与日志:systemctl status myapp;journalctl -u myapp -b
  • 兼容方式:使用 rc.local(若系统提供)
    • 创建 /etc/rc.local(确保包含 exit 0
      #!/bin/bash
      /usr/local/bin/mystartup.sh &
      exit 0
      
    • 启用:sudo chmod +x /etc/rc.local && sudo systemctl enable --now rc-local
  • 图形会话自启(有桌面环境时)
    • 命令:gnome-session-properties;如需延迟启动,可在命令前加 sleep 120;

四 启动优化与问题排查

  • 分析启动耗时
    • 命令:systemd-analyze;生成图形报告:systemd-analyze plot > startup.svg
  • 精简与禁用不必要的服务
    • 列出与禁用:systemctl list-unit-files --type=service;sudo systemctl disable
  • 调整默认目标(文本/图形)
    • 文本模式:sudo systemctl set-default multi-user.target
    • 图形模式:sudo systemctl set-default graphical.target
  • 内核参数与 GRUB 调优
    • GRUB_CMDLINE_LINUX_DEFAULT 中按需添加:如 quiet splash systemd.unit=multi-user.target
    • 修改后执行:sudo update-grub
  • 日志与排错
    • 服务日志:journalctl -u -b
    • 查看详细启动流程:systemd-analyze blame / critical-chain

0