Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

最大的社区版本,Ubuntu的发源地
回复
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

#1

帖子 科学之子 » 2017-01-20 23:03

Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?
mount了一个分区镜像文件,里面有grub的配置文件
mount把分区镜像文件设置为loop设备
虚拟机是直接从分区镜像文件启动的

我发现如果在实机修改了grub的配置文件,Alt+SysRQ+S无法让修改立即在重启后的虚拟机内生效,sync命令却可以
尽管dmesg显示Emergency Sync complete
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

#2

帖子 poloshiao » 2017-01-21 8:39

Alt+SysRQ+S
你是希望關機 還是 自動重啟 ?
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

#3

帖子 科学之子 » 2017-01-21 9:53

poloshiao 写了:
Alt+SysRQ+S
你是希望關機 還是 自動重啟 ?
我的意思是虚拟机外修改了虚拟机硬盘的文件,保存后按Alt+SysRQ+S并没有像提示的那样同步完成
sync命令虽然没提示,但貌似立即同步了,马上虚拟机开机就能看到变化
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

#4

帖子 科学之子 » 2017-01-21 12:56

poloshiao 写了:
Alt+SysRQ+S
你是希望關機 還是 自動重啟 ?
这里有个特殊的地方是我用的是raw设备
https://www.virtualbox.org/manual/ch09.html#rawdisk
但我这里raw是一个镜像文件,并非真正的设备.
修改的时候是mount这个镜像文件,然后修改完没卸载,就直接同步,然后虚拟机直接开机
(这么做很危险而且我已经遇到了一堆损坏,只是当时这个镜像文件并不重要,所以图省事,因为当时的测试需要不停重新开机,所以发现了这个现象)
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

#5

帖子 poloshiao » 2017-01-21 19:21

这里有个特殊的地方是我用的是 raw 设备
但我这里 raw 是一个镜像文件,并非真正的设备.
修改的时候是 mount 这个镜像文件,然后修改完没卸载,就直接同步,然后虚拟机直接开机
我的意思是虚拟机外修改了虚拟机硬盘的文件,保存后按Alt+SysRQ+S并没有像提示的那样同步完成
sync命令虽然没提示,但貌似立即同步了,马上虚拟机开机就能看到变化
1. http://www.linuxhowtos.org/Tips%20and%2 ... /sysrq.htm
Alt+SysRQ+s writes all data from the disc cache to the harddiscs, its a sync.
1-1. https://zh.wikipedia.org/wiki/%E7%A3%81 ... 3%E5%AD%98
磁碟緩存(Disk Buffer)或磁碟快取(Disk Cache)
1-2. https://en.wikipedia.org/wiki/Disk_cache
Disk Cache
1-3. https://en.wikipedia.org/wiki/Disk_buffer
Disk buffer
1-4. https://en.wikipedia.org/wiki/Page_cache
Page cache

2. 安全的作法應該是 :
viewtopic.php?f=80&t=481022&p=3177831&h ... B#p3177831
先按一下
ALT + SysRq
然後依序按下
r
e
i
s
u
b
中間間隔停留幾秒
稍待一會兒
看看會不會安全的重新開機
2-1. 參見
http://blog.kember.net/articles/reisub- ... x-restart/
Wikipedia comes to the rescue with an in-depth listing of all the SysRq keys.
R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing
2-1. 當你先按下 R 健 後面再按下的其它鍵 已經不是 raw mode 是 XLATE mode
2-2. raw mode / XLATE mode 參見
http://unix.stackexchange.com/questions ... -mode-mean
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: Alt+SysRQ+S和sync命令区别是什么?好像Alt+SysRQ+S要按两次才有用?

#6

帖子 科学之子 » 2017-01-22 12:21

poloshiao 写了:
这里有个特殊的地方是我用的是 raw 设备
但我这里 raw 是一个镜像文件,并非真正的设备.
修改的时候是 mount 这个镜像文件,然后修改完没卸载,就直接同步,然后虚拟机直接开机
我的意思是虚拟机外修改了虚拟机硬盘的文件,保存后按Alt+SysRQ+S并没有像提示的那样同步完成
sync命令虽然没提示,但貌似立即同步了,马上虚拟机开机就能看到变化
1. http://www.linuxhowtos.org/Tips%20and%2 ... /sysrq.htm
Alt+SysRQ+s writes all data from the disc cache to the harddiscs, its a sync.
1-1. https://zh.wikipedia.org/wiki/%E7%A3%81 ... 3%E5%AD%98
磁碟緩存(Disk Buffer)或磁碟快取(Disk Cache)
1-2. https://en.wikipedia.org/wiki/Disk_cache
Disk Cache
1-3. https://en.wikipedia.org/wiki/Disk_buffer
Disk buffer
1-4. https://en.wikipedia.org/wiki/Page_cache
Page cache

2. 安全的作法應該是 :
viewtopic.php?f=80&t=481022&p=3177831&h ... B#p3177831
先按一下
ALT + SysRq
然後依序按下
r
e
i
s
u
b
中間間隔停留幾秒
稍待一會兒
看看會不會安全的重新開機
2-1. 參見
http://blog.kember.net/articles/reisub- ... x-restart/
Wikipedia comes to the rescue with an in-depth listing of all the SysRq keys.
R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing
2-1. 當你先按下 R 健 後面再按下的其它鍵 已經不是 raw mode 是 XLATE mode
2-2. raw mode / XLATE mode 參見
http://unix.stackexchange.com/questions ... -mode-mean
但我特意按了(Alt+SysRQ+X)(X是随便按的,目的是覆盖掉之前的信息),然后(Alt+SysRQ+S)然后dmesg发现提示同步完成,但虚拟机开机后并未发现相应变化
sync虽然没有提示,但由于没有提示,我执行完之后立即就让虚拟机开机,虚拟机仍然看到了变化
回复