Как убрать рамку в GRUB2?
Надо сделать вид в убунтовом GRUB'е таким же как в Fedora...
Вот из такого: http://cdn3.howtogeek.com/wp-content/uploads/2011/02/sshot-3.png
Сделать такое: http://i985.photobucket.com/albums/ae339/nkpnsw/Screenshot-290314-111719_zpse...
(без фона цветов и т.п., просто минималистичный вид, без надписей и уродской рамки).
Поковыряв исходники GRUB2 в Fedora и Ubuntu выяснил что в Fedora добавлены патчи:
1) 0470-Don-t-draw-a-border-around-the-menu.patch
From 7e4ef1b81a27e6e69e5e615a38f9ec10137f43e6 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 16:47:33 -0400
Subject: [PATCH 470/482] Don't draw a border around the menu
It looks cleaner without it.
---
grub-core/normal/menu_text.c | 38 --------------------------------------
1 file changed, 38 deletions(-)
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index b6ec32a..faf1d3e 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -108,42 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
grub_print_message_indented_real (msg, margin_left, margin_right, term, 0);
}
-static void
-draw_border (struct grub_term_output *term, const struct grub_term_screen_geometry *geo)
-{
- int i;
-
- grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
- grub_term_gotoxy (term, geo->first_entry_x - 1, geo->first_entry_y - 1);
- grub_putcode (GRUB_UNICODE_CORNER_UL, term);
- for (i = 0; i < geo->entry_width + 1; i++)
- grub_putcode (GRUB_UNICODE_HLINE, term);
- grub_putcode (GRUB_UNICODE_CORNER_UR, term);
-
- for (i = 0; i < geo->num_entries; i++)
- {
- grub_term_gotoxy (term, geo->first_entry_x - 1, geo->first_entry_y + i);
- grub_putcode (GRUB_UNICODE_VLINE, term);
- grub_term_gotoxy (term, geo->first_entry_x + geo->entry_width + 1,
- geo->first_entry_y + i);
- grub_putcode (GRUB_UNICODE_VLINE, term);
- }
-
- grub_term_gotoxy (term, geo->first_entry_x - 1,
- geo->first_entry_y - 1 + geo->num_entries + 1);
- grub_putcode (GRUB_UNICODE_CORNER_LL, term);
- for (i = 0; i < geo->entry_width + 1; i++)
- grub_putcode (GRUB_UNICODE_HLINE, term);
- grub_putcode (GRUB_UNICODE_CORNER_LR, term);
-
- grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
- grub_term_gotoxy (term, geo->first_entry_x - 1,
- (geo->first_entry_y - 1 + geo->num_entries
- + GRUB_TERM_MARGIN + 1));
-}
-
static int
print_message (int nested, int edit, struct grub_term_output *term, int dry_run)
{
@@ -396,8 +360,6 @@ grub_menu_init_page (int nested, int edit,
grub_term_normal_color = grub_color_menu_normal;
grub_term_highlight_color = grub_color_menu_highlight;
- if (geo->border)
- draw_border (term, geo);
grub_term_normal_color = old_color_normal;
grub_term_highlight_color = old_color_highlight;
geo->timeout_y = geo->first_entry_y + geo->num_entries
--
1.8.2.1
2) 0469-Don-t-print-GNU-GRUB-header.patch
From e600b91cdae6a5e2bbf93f4062a2d005cd5681f3 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 13:53:48 -0400
Subject: [PATCH 469/482] Don't print GNU GRUB header
No one cares.
---
grub-core/normal/main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index 70f6162..3344e0a 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -251,6 +251,7 @@ grub_normal_init_page (struct grub_term_output *term,
grub_term_cls (term);
+#if 0
msg_formatted = grub_xasprintf (msg, PACKAGE_VERSION);
if (!msg_formatted)
return;
@@ -274,6 +275,7 @@ grub_normal_init_page (struct grub_term_output *term,
grub_putcode ('\n', term);
grub_putcode ('\n', term);
grub_free (unicode_msg);
+#endif
}
static void
--
1.8.2.1
Соответственно что бы убрать рамку, нужно либо пропатчить GRUB2 в Ubuntu, либо установить левую тему...
Если не ошибаюсь то за отображение меню в GRUB отвечает модуль normal.mod, заменив который, возможно, вид изменится.
Главное я понял что не проглядел параметры отвечающие за отображение меню GRUB, и мне стало ясно «как там все работает».
Изменив вид, отмечу тему как решенную.